03:29:24.095 [debug] QUERY OK source="sources" db=0.2ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:24.095 [debug] QUERY OK source="sources" db=0.1ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:24.096 [debug] QUERY OK source="media_items" db=1.2ms idle=9.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 14:00:28Z], 30] 03:29:24.098 [debug] QUERY OK source="media_items" db=1.3ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ich war zu Gast im Presseclub. Hier Teil 2 meines Faktenchecks samt Analyse!\n\nAnzeige | Erhalte 15% Rabatt mit MAURICEHOEFGEN_15 ab 50 € Mindestbestellwert auf alles außer Sale-Artikel, gültig bis einschließlich 30.06.2026\nhttps://www.armedangels.com/pages/t-shirt-guide?utm_source=social&utm_medium=influence[…]26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n\nMeine Armedangels-Bestellung:\n• TAPERED PULL ON PANT (namsen, 32): https://www.armedangels.com/products/tapered-pull-on-hose-namsen?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n• MAARKOS MID WEIGHT T-SHIRT (white, M): https://www.armedangels.com/products/maarkos-mid-weight-t-shirt-white?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• MAARKOS LOVE SINCE T-SHIRT (pure, M): https://www.armedangels.com/products/maarkos-love-since-t-shirt-pure?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• RYAANO BOXER BRIEF (black, M): https://www.armedangels.com/products/ryaano-black?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n\nArtikel | Rotstift in der Psychotherapie?\nhttps://www.geldfuerdiewelt.de/p/rotstift-fur-psychotherapie-ein-fehler\n\nArtikel | Einordnung der Studie zum Sondervermögen\nhttps://www.geldfuerdiewelt.de/p/emporung-zum-sondervermogen-eigentor-95-prozent-ifo-schulden-klingbeil\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:02:53) Merz zurecht ausgebuht?\n(00:09:34) Siems wird laut…\n(00:11:43) Merz macht linke Politik?!\n(00:18:30) Wirtschaftswachstum wegen Schulden\n(00:20:22) WELT-Chefökonomin Faktenfern\n(00:24:05) Gewerkschaften & Regierung\n(00:28:53) Faktencheck: Zweckentfremdung Sondervermögen?\n(00:32:25) Minderheitsregierung\n(00:34:19) Welche Reformen sollte die Regierung angehen?\n(00:39:01) Zuschauerfragen\n(00:42:43) Ehren-Anrufer\n(00:46:13) Arbeitszeit Flexibilisierung\n(00:48:52) Mindestlohn abschaffen?!\n(00:52:22) Kommunikations-Coaching für Merz?\n(00:55:26) Mehr arbeiten macht mehr krank!\n(00:58:16) Arbeitserschöpfung\n(01:02:18) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #reformen", "Maurice Höfgen widerlegt Springer-Journalistin im Presseclub!", "13162249-3fc2-4fdd-b23c-ce925065091f", false, 30, [], 3754, false, "SjPQyDSl3zI", "https://www.youtube.com/watch?v=SjPQyDSl3zI", 12, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052200 - Maurice Höfgen widerlegt Springer-Journalistin im Presseclub!.mp4", false, false, 98, ~U[2026-05-22 14:00:28Z], ~U[2026-08-05 01:29:24Z], ~U[2026-08-05 01:29:24Z], "Ich war zu Gast im Presseclub. Hier Teil 2 meines Faktenchecks samt Analyse!\n\nAnzeige | Erhalte 15% Rabatt mit MAURICEHOEFGEN_15 ab 50 € Mindestbestellwert auf alles außer Sale-Artikel, gültig bis einschließlich 30.06.2026\nhttps://www.armedangels.com/pages/t-shirt-guide?utm_source=social&utm_medium=influence[…]26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n\nMeine Armedangels-Bestellung:\n• TAPERED PULL ON PANT (namsen, 32): https://www.armedangels.com/products/tapered-pull-on-hose-namsen?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n• MAARKOS MID WEIGHT T-SHIRT (white, M): https://www.armedangels.com/products/maarkos-mid-weight-t-shirt-white?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• MAARKOS LOVE SINCE T-SHIRT (pure, M): https://www.armedangels.com/products/maarkos-love-since-t-shirt-pure?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• RYAANO BOXER BRIEF (black, M): https://www.armedangels.com/products/ryaano-black?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n\nArtikel | Rotstift in der Psychotherapie?\nhttps://www.geldfuerdiewelt.de/p/rotstift-fur-psychotherapie-ein-fehler\n\nArtikel | Einordnung der Studie zum Sondervermögen\nhttps://www.geldfuerdiewelt.de/p/emporung-zum-sondervermogen-eigentor-95-prozent-ifo-schulden-klingbeil\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:02:53) Merz zurecht ausgebuht?\n(00:09:34) Siems wird laut…\n(00:11:43) Merz macht linke Politik?!\n(00:18:30) Wirtschaftswachstum wegen Schulden\n(00:20:22) WELT-Chefökonomin Faktenfern\n(00:24:05) Gewerkschaften & Regierung\n(00:28:53) Faktencheck: Zweckentfremdung Sondervermögen?\n(00:32:25) Minderheitsregierung\n(00:34:19) Welche Reformen sollte die Regierung angehen?\n(00:39:01) Zuschauerfragen\n(00:42:43) Ehren-Anrufer\n(00:46:13) Arbeitszeit Flexibilisierung\n(00:48:52) Mindestlohn abschaffen?!\n(00:52:22) Kommunikations-Coaching für Merz?\n(00:55:26) Mehr arbeiten macht mehr krank!\n(00:58:16) Arbeitserschöpfung\n(01:02:18) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der (truncated) 03:29:24.098 [debug] QUERY OK source="sources" db=0.1ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:24.099 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:24.099 [debug] QUERY OK source="media_items" db=0.1ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4986114] 03:29:24.099 [debug] Current batch of media processed. Will check again in 1000ms 03:29:25.087 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to SUNLU for sponsoring this video! Check out the E2 Professional Drying and Annealing Solution: https://geni.us/E2Dryer\n\nCarbon fiber Nylon is strong, tough, and heat resistant—but it also has hidden weaknesses that can cause your 3D prints to fail. In this video, I test PA6 and PA12 Carbon Fiber filaments to show how moisture, creep, and annealing affect their real performance. Learn when to use each material, how to avoid common mistakes, and how to get the most out of your Nylon 3D prints!\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🛒 SUNLU Store: \nSUNLU FilaDry E2: https://bit.ly/47w2mzZ\nSUNLU PA6-CF: https://bit.ly/4lvCec0\nSUNLU PA12-CF: https://bit.ly/45M2uZY\n🛒AMAZON (affiliate): \nSUNLU FilaDry E2: https://geni.us/SunluE2\nSUNLU PA6-CF: https://geni.us/SUNLU_PA6-CF\nSUNLU PA12-CF: https://geni.us/SUNLU_PA12-CF\n\n10% Off Nano Polymer Adhesive with code CNCKITCHEN: https://geni.us/NanoPolymerAdhesive\nWERA Torque Screwdriver: https://geni.us/RfW2ne\n\nWebsite Article: www.cnckitchen.com/blog/carbon-fiber-nylon-in-3d-printing-pa6-vs-pa12-tested\n\n🖨️ Printed Parts:\n3DBenchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nDrone Frame: https://www.printables.com/model/1318127-3-inch-drone-frame\nCoolant Outlet Flange: https://www.printables.com/model/1281425-m50m52-cylinder-head-coolant-outlet-flange\nMountain Bike Pedal: https://www.printables.com/model/397469-mountain-bike-pedal\nSD Rugged Box: https://makerworld.com/en/models/13376-rugged-box-no-screws-for-sd-and-micro-sd-cards?from=search#profileId-25507\n3-Point Bending Test: https://www.printables.com/model/453526-3-point-bending-test\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:34 Sponsor\n03:17 What is Nylon?\n04:32 What is Creep?\n05:13 Creep Test\n06:29 Annealing Nylon\n07:27 Printing Nylon\n09:20 Stiffness Test 1\n10:42 The Moisture Problem\n12:19 Stiffness Test 2\n13:06 Strength Test\n14:52 Impact Test\n15:33 Creep Test Results\n17:59 Temperature Test\n19:01 Summary\n\n#3Dprinting #nylon #sunlu\nDISCLAIMER: Part of this video was sponsored by SUNLU.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "duration" => 1315, "filename" => "/downloads/CNC Kitchen/Season 2025/s2025e081600 - Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon.mp4", "id" => "u8dIpwd6tzo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u8dIpwd6tzo", "playlist_index" => 18, "timestamp" => 1755358528, "title" => "Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon", "upload_date" => "20250816"} 03:29:25.087 [debug] QUERY OK source="sources" db=0.1ms idle=988.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [63] 03:29:25.088 [debug] QUERY OK source="sources" db=0.0ms idle=988.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:25.088 [debug] QUERY OK source="media_items" db=0.5ms idle=988.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-16 15:35:28Z], 63] 03:29:25.099 [debug] QUERY OK source="media_items" db=10.4ms idle=229.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to SUNLU for sponsoring this video! Check out the E2 Professional Drying and Annealing Solution: https://geni.us/E2Dryer\n\nCarbon fiber Nylon is strong, tough, and heat resistant—but it also has hidden weaknesses that can cause your 3D prints to fail. In this video, I test PA6 and PA12 Carbon Fiber filaments to show how moisture, creep, and annealing affect their real performance. Learn when to use each material, how to avoid common mistakes, and how to get the most out of your Nylon 3D prints!\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🛒 SUNLU Store: \nSUNLU FilaDry E2: https://bit.ly/47w2mzZ\nSUNLU PA6-CF: https://bit.ly/4lvCec0\nSUNLU PA12-CF: https://bit.ly/45M2uZY\n🛒AMAZON (affiliate): \nSUNLU FilaDry E2: https://geni.us/SunluE2\nSUNLU PA6-CF: https://geni.us/SUNLU_PA6-CF\nSUNLU PA12-CF: https://geni.us/SUNLU_PA12-CF\n\n10% Off Nano Polymer Adhesive with code CNCKITCHEN: https://geni.us/NanoPolymerAdhesive\nWERA Torque Screwdriver: https://geni.us/RfW2ne\n\nWebsite Article: www.cnckitchen.com/blog/carbon-fiber-nylon-in-3d-printing-pa6-vs-pa12-tested\n\n🖨️ Printed Parts:\n3DBenchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nDrone Frame: https://www.printables.com/model/1318127-3-inch-drone-frame\nCoolant Outlet Flange: https://www.printables.com/model/1281425-m50m52-cylinder-head-coolant-outlet-flange\nMountain Bike Pedal: https://www.printables.com/model/397469-mountain-bike-pedal\nSD Rugged Box: https://makerworld.com/en/models/13376-rugged-box-no-screws-for-sd-and-micro-sd-cards?from=search#profileId-25507\n3-Point Bending Test: https://www.printables.com/model/453526-3-point-bending-test\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:34 Sponsor\n03:17 What is Nylon?\n04:32 What is Creep?\n05:13 Creep Test\n06:29 Annealing Nylon\n07:27 Printing Nylon\n09:20 Stiffness Test 1\n10:42 The Moisture Problem\n12:19 Stiffness Test 2\n13:06 Strength Test\n14:52 Impact Test\n15:33 Creep Test Results\n17:59 Temperature Test\n19:01 Summary\n\n#3Dprinting #nylon #sunlu\nDISCLAIMER: Part of this video was sponsored by SUNLU.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon", "cff9f4cf-91b1-48be-b20b-153481e0e490", false, 63, [], 1315, false, "u8dIpwd6tzo", "https://www.youtube.com/watch?v=u8dIpwd6tzo", 18, "/downloads/CNC Kitchen/Season 2025/s2025e081600 - Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon.mp4", false, false, 98, ~U[2025-08-16 15:35:28Z], ~U[2026-08-05 01:29:25Z], ~U[2026-08-05 01:29:25Z], "Thanks to SUNLU for sponsoring this video! Check out the E2 Professional Drying and Annealing Solution: https://geni.us/E2Dryer\n\nCarbon fiber Nylon is strong, tough, and heat resistant—but it also has hidden weaknesses that can cause your 3D prints to fail. In this video, I test PA6 and PA12 Carbon Fiber filaments to show how moisture, creep, and annealing affect their real performance. Learn when to use each material, how to avoid common mistakes, and how to get the most out of your Nylon 3D prints!\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🛒 SUNLU Store: \nSUNLU FilaDry E2: https://bit.ly/47w2mzZ\nSUNLU PA6-CF: https://bit.ly/4lvCec0\nSUNLU PA12-CF: https://bit.ly/45M2uZY\n🛒AMAZON (affiliate): \nSUNLU FilaDry E2: https://geni.us/SunluE2\nSUNLU PA6-CF: https://geni.us/SUNLU_PA6-CF\nSUNLU PA12-CF: https://geni.us/SUNLU_PA12-CF\n\n10% Off Nano Polymer Adhesive with code CNCKITCHEN: https://geni.us/NanoPolymerAdhesive\nWERA Torque Screwdriver: https://geni.us/RfW2ne\n\nWebsite Article: www.cnckitchen.com/blog/carbon-fiber-nylon-in-3d-printing-pa6-vs-pa12-tested\n\n🖨️ Printed Parts:\n3DBenchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nDrone Frame: https://www.printables.com/model/1318127-3-inch-drone-frame\nCoolant Outlet Flange: https://www.printables.com/model/1281425-m50m52-cylinder-head-coolant-outlet-flange\nMountain Bike Pedal: https://www.printables.com/model/397469-mountain-bike-pedal\nSD Rugged Box: https://makerworld.com/en/models/13376-rugged-box-no-screws-for-sd-and-micro-sd-cards?from=search#profileId-25507\n3-Point Bending Test: https://www.printables.com/model/453526-3-point-bending-test\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:34 Sponsor\n03:17 What is Nylon?\n04:32 What is Creep?\n05:13 Creep Test\n06:29 Annealing Nylon\n07:27 Printing Nylon\n09:20 Stiffness Test 1\n10:42 The Moisture Problem\n12:19 Stiffness Test 2\n13:06 Strength Test\n14:52 Impact Test\n15:33 Creep Test Results\n17:59 Temperature Test\n19:01 Summary\n\n#3Dprinting #nylon #sunlu\nDISCLAIMER: Part of this video was sponsored by SUNLU.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon", 63, 1315, false, "u8dIpwd6tzo", "https://www.youtube.com/watch?v=u8dIpwd6tzo", "/downloads/CNC Kitchen/Season 2025/s2025e081600 - Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon.mp4", false, ~U[2025-08-16 15:35:28Z]] 03:29:25.100 [debug] QUERY OK source="sources" db=0.1ms idle=235.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:25.100 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:25.100 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ich war zu Gast im Presseclub. Hier mein Faktencheck samt Analyse!\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen\nbekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie! \n\nArtikel | Grafik zu Lohnentwicklung/Rente:\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder?utm_source=publication-search\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nQuelle Mindestlohn: \nhttps://mindestlohnbetrug.de/#kontrolle \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:03:00) Gewerkschaften und der 8-Stunden-Tag\n(00:05:44) Studien: Was passiert nach der 8. Stunde Arbeit?\n(00:10:32) 8-Stunden-Tag: Sinnvolle Debatte?\n(00:15:45) Schutz vor Betrug vs. Flexibilität\n(00:23:25) Müssen die Deutschen mehr arbeiten?\n(00:32:12) Proteste der Arbeitnehmer/Gewerkschaften\n(00:36:16) WELT-Journalistin Siems wird ruppig…\n(00:38:00) Kompromissbereitschaft von SPD & CDU\n(00:42:40) Problem der SPD: Linke Politik in Deutschland\n(00:47:29) Merz wird ausgelacht\n(00:49:29) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #arbeitszeit", "duration" => 3000, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051900 - Mein Streit mit der WELT-Chefökonomin im Presseclub!.mp4", "id" => "drpk-uJzzd4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=drpk-uJzzd4", "playlist_index" => 13, "timestamp" => 1779199251, "title" => "Mein Streit mit der WELT-Chefökonomin im Presseclub!", "upload_date" => "20260519"} 03:29:25.100 [debug] QUERY OK source="media_items" db=0.4ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4073333] 03:29:25.101 [debug] QUERY OK source="sources" db=0.4ms idle=11.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:25.101 [debug] Current batch of media processed. Will check again in 1000ms 03:29:25.101 [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" = ?) [30] 03:29:25.102 [debug] QUERY OK source="media_items" db=1.1ms idle=1.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 14:00:51Z], 30] 03:29:25.104 [debug] QUERY OK source="media_items" db=1.3ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ich war zu Gast im Presseclub. Hier mein Faktencheck samt Analyse!\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen\nbekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie! \n\nArtikel | Grafik zu Lohnentwicklung/Rente:\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder?utm_source=publication-search\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nQuelle Mindestlohn: \nhttps://mindestlohnbetrug.de/#kontrolle \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:03:00) Gewerkschaften und der 8-Stunden-Tag\n(00:05:44) Studien: Was passiert nach der 8. Stunde Arbeit?\n(00:10:32) 8-Stunden-Tag: Sinnvolle Debatte?\n(00:15:45) Schutz vor Betrug vs. Flexibilität\n(00:23:25) Müssen die Deutschen mehr arbeiten?\n(00:32:12) Proteste der Arbeitnehmer/Gewerkschaften\n(00:36:16) WELT-Journalistin Siems wird ruppig…\n(00:38:00) Kompromissbereitschaft von SPD & CDU\n(00:42:40) Problem der SPD: Linke Politik in Deutschland\n(00:47:29) Merz wird ausgelacht\n(00:49:29) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #arbeitszeit", "Mein Streit mit der WELT-Chefökonomin im Presseclub!", "d8753483-f621-4ecf-a679-93602346a02d", false, 30, [], 3000, false, "drpk-uJzzd4", "https://www.youtube.com/watch?v=drpk-uJzzd4", 13, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051900 - Mein Streit mit der WELT-Chefökonomin im Presseclub!.mp4", false, false, 98, ~U[2026-05-19 14:00:51Z], ~U[2026-08-05 01:29:25Z], ~U[2026-08-05 01:29:25Z], "Ich war zu Gast im Presseclub. Hier mein Faktencheck samt Analyse!\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen\nbekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie! \n\nArtikel | Grafik zu Lohnentwicklung/Rente:\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder?utm_source=publication-search\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nQuelle Mindestlohn: \nhttps://mindestlohnbetrug.de/#kontrolle \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:03:00) Gewerkschaften und der 8-Stunden-Tag\n(00:05:44) Studien: Was passiert nach der 8. Stunde Arbeit?\n(00:10:32) 8-Stunden-Tag: Sinnvolle Debatte?\n(00:15:45) Schutz vor Betrug vs. Flexibilität\n(00:23:25) Müssen die Deutschen mehr arbeiten?\n(00:32:12) Proteste der Arbeitnehmer/Gewerkschaften\n(00:36:16) WELT-Journalistin Siems wird ruppig…\n(00:38:00) Kompromissbereitschaft von SPD & CDU\n(00:42:40) Problem der SPD: Linke Politik in Deutschland\n(00:47:29) Merz wird ausgelacht\n(00:49:29) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #arbeitszeit", "Mein Streit mit der WELT-Chefökonomin im Presseclub!", 30, 3000, false, "drpk-uJzzd4", "https://www.youtube.com/watch?v=drpk-uJzzd4", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051900 - Mein Streit mit der WELT-Chefökonomin im Presseclub!.mp4", false, ~U[2026-05-19 14:00:51Z]] 03:29:25.104 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:25.104 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:25.104 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4975117] 03:29:25.104 [debug] Current batch of media processed. Will check again in 1000ms 03:29:26.101 [debug] Current batch of media processed. Will check again in 1000ms 03:29:26.105 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die Präsidentin vom Lobbyverein Die Familienunternehmer, Marie-Christine Ostermann, im Phoenix Interview mit Florian Bauer zum neuen Haushalt und dem Krisenbonus.\n\nArtikel | Mythos Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nPostproduktion: Florian Dick\nBild: IMAGO / photothek\nOriginalvideo: https://www.youtube.com/watch?v=IRtL6B3__1g\n\nInhalt:\n(00:00:00) Intro\n(00:01:42) Entlastungsprämie schlecht?\n(00:05:25) Strukturreformen von \"Die Familienunternehmer\"\n(00:07:52) Moderator on fire! (Kürzungen von Subventionen)\n(00:19:01) Die Familienunternehmer und die AfD\n(00:22:39) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#phoenix #haushalt #subventionen", "duration" => 1382, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051700 - Gebt diesem Moderator eine Talkshow!.mp4", "id" => "-3ExL3SqIaU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-3ExL3SqIaU", "playlist_index" => 14, "timestamp" => 1779026400, "title" => "Gebt diesem Moderator eine Talkshow!", "upload_date" => "20260517"} 03:29:26.105 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:26.106 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:26.108 [debug] QUERY OK source="media_items" db=2.0ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-17 14:00:00Z], 30] 03:29:26.119 [debug] QUERY OK source="media_items" db=10.3ms idle=248.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Die Präsidentin vom Lobbyverein Die Familienunternehmer, Marie-Christine Ostermann, im Phoenix Interview mit Florian Bauer zum neuen Haushalt und dem Krisenbonus.\n\nArtikel | Mythos Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nPostproduktion: Florian Dick\nBild: IMAGO / photothek\nOriginalvideo: https://www.youtube.com/watch?v=IRtL6B3__1g\n\nInhalt:\n(00:00:00) Intro\n(00:01:42) Entlastungsprämie schlecht?\n(00:05:25) Strukturreformen von \"Die Familienunternehmer\"\n(00:07:52) Moderator on fire! (Kürzungen von Subventionen)\n(00:19:01) Die Familienunternehmer und die AfD\n(00:22:39) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#phoenix #haushalt #subventionen", "Gebt diesem Moderator eine Talkshow!", "aefc6583-d095-4f48-8ae7-5134a3e671dc", false, 30, [], 1382, false, "-3ExL3SqIaU", "https://www.youtube.com/watch?v=-3ExL3SqIaU", 14, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051700 - Gebt diesem Moderator eine Talkshow!.mp4", false, false, 98, ~U[2026-05-17 14:00:00Z], ~U[2026-08-05 01:29:26Z], ~U[2026-08-05 01:29:26Z], "Die Präsidentin vom Lobbyverein Die Familienunternehmer, Marie-Christine Ostermann, im Phoenix Interview mit Florian Bauer zum neuen Haushalt und dem Krisenbonus.\n\nArtikel | Mythos Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nPostproduktion: Florian Dick\nBild: IMAGO / photothek\nOriginalvideo: https://www.youtube.com/watch?v=IRtL6B3__1g\n\nInhalt:\n(00:00:00) Intro\n(00:01:42) Entlastungsprämie schlecht?\n(00:05:25) Strukturreformen von \"Die Familienunternehmer\"\n(00:07:52) Moderator on fire! (Kürzungen von Subventionen)\n(00:19:01) Die Familienunternehmer und die AfD\n(00:22:39) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#phoenix #haushalt #subventionen", "Gebt diesem Moderator eine Talkshow!", 30, 1382, false, "-3ExL3SqIaU", "https://www.youtube.com/watch?v=-3ExL3SqIaU", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051700 - Gebt diesem Moderator eine Talkshow!.mp4", false, ~U[2026-05-17 14:00:00Z]] 03:29:26.119 [debug] QUERY OK source="sources" db=0.2ms idle=253.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:26.119 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:26.120 [debug] QUERY OK source="media_items" db=0.2ms idle=13.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4967823] 03:29:26.120 [debug] Current batch of media processed. Will check again in 1000ms 03:29:27.102 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nWhat happens when you mix cow poop into 3D printing filament? In this video, I experiment with different amounts of cow dung in PLA to see if it prints, how strong it is, and, how it smells! Follow along as I turn farm waste into surprising 3D prints and share the weird, funny, and fascinating results.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nCome to OpenSauce: https://opensauce.com/\nARTME3D Filament Maker: https://artme-3d.shop/\nPoop STL by Fyrby Additive: https://www.printables.com/model/633463-poop\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:39 Sponsor\n02:11 Idea\n03:13 OpenSauce\n03:37 Gather \"Material\"\n07:06 First Extrusion\n11:16 First Print\n12:35 Finding the Problem\n13:51 Pelletizing Filament\n14:39 Re-Extrusion\n16:03 Trying PLA Powder\n18:56 Adding More Poop\n21:41 Preparing Strength Tests\n21:33 Nozzle Wear\n21:54 Strength Tests\n22:33 Summary\n\n#3Dprinting #filament #poop \nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "duration" => 1485, "filename" => "/downloads/CNC Kitchen/Season 2025/s2025e071200 - Cow Poop Filament is NOT as BAD as you Think!.mp4", "id" => "GmUPN2Nww6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GmUPN2Nww6Q", "playlist_index" => 19, "timestamp" => 1752333761, "title" => "Cow Poop Filament is NOT as BAD as you Think!", "upload_date" => "20250712"} 03:29:27.103 [debug] QUERY OK source="sources" db=0.2ms idle=983.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [63] 03:29:27.103 [debug] QUERY OK source="sources" db=0.1ms idle=983.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.104 [debug] QUERY OK source="media_items" db=0.9ms idle=983.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 15:22:41Z], 63] 03:29:27.115 [debug] QUERY OK source="media_items" db=10.1ms idle=243.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nWhat happens when you mix cow poop into 3D printing filament? In this video, I experiment with different amounts of cow dung in PLA to see if it prints, how strong it is, and, how it smells! Follow along as I turn farm waste into surprising 3D prints and share the weird, funny, and fascinating results.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nCome to OpenSauce: https://opensauce.com/\nARTME3D Filament Maker: https://artme-3d.shop/\nPoop STL by Fyrby Additive: https://www.printables.com/model/633463-poop\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:39 Sponsor\n02:11 Idea\n03:13 OpenSauce\n03:37 Gather \"Material\"\n07:06 First Extrusion\n11:16 First Print\n12:35 Finding the Problem\n13:51 Pelletizing Filament\n14:39 Re-Extrusion\n16:03 Trying PLA Powder\n18:56 Adding More Poop\n21:41 Preparing Strength Tests\n21:33 Nozzle Wear\n21:54 Strength Tests\n22:33 Summary\n\n#3Dprinting #filament #poop \nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Cow Poop Filament is NOT as BAD as you Think!", "2558c07a-7997-45dc-b7fb-984e9901e0e3", false, 63, [], 1485, false, "GmUPN2Nww6Q", "https://www.youtube.com/watch?v=GmUPN2Nww6Q", 19, "/downloads/CNC Kitchen/Season 2025/s2025e071200 - Cow Poop Filament is NOT as BAD as you Think!.mp4", false, false, 98, ~U[2025-07-12 15:22:41Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nWhat happens when you mix cow poop into 3D printing filament? In this video, I experiment with different amounts of cow dung in PLA to see if it prints, how strong it is, and, how it smells! Follow along as I turn farm waste into surprising 3D prints and share the weird, funny, and fascinating results.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nCome to OpenSauce: https://opensauce.com/\nARTME3D Filament Maker: https://artme-3d.shop/\nPoop STL by Fyrby Additive: https://www.printables.com/model/633463-poop\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:39 Sponsor\n02:11 Idea\n03:13 OpenSauce\n03:37 Gather \"Material\"\n07:06 First Extrusion\n11:16 First Print\n12:35 Finding the Problem\n13:51 Pelletizing Filament\n14:39 Re-Extrusion\n16:03 Trying PLA Powder\n18:56 Adding More Poop\n21:41 Preparing Strength Tests\n21:33 Nozzle Wear\n21:54 Strength Tests\n22:33 Summary\n\n#3Dprinting #filament #poop \nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Cow Poop Filament is NOT as BAD as you Think!", 63, 1485, false, "GmUPN2Nww6Q", "https://www.youtube.com/watch?v=GmUPN2Nww6Q", "/downloads/CNC Kitchen/Season 2025/s2025e071200 - Cow Poop Filament is NOT as BAD as you Think!.mp4", false, ~U[2025-07-12 15:22:41Z]] 03:29:27.115 [debug] QUERY OK source="sources" db=0.1ms idle=248.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.115 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.116 [debug] QUERY OK source="media_items" db=0.1ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3953039] 03:29:27.116 [debug] Current batch of media processed. Will check again in 1000ms 03:29:27.120 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Kanzler Merz hält eine Verzichtsrede beim DGB und erntet dafür Buh-Rufe. Zurecht?\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nQuellen:\nhttps://www.iwkoeln.de/fileadmin/user_upload/Studien/IW-Trends/PDF/2025/IW-Trends_2025-02-06_Schr%C3%B6der.pdf \nhttps://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \nhttps://www.demografie-portal.de/DE/Fakten/altersrentner-beitragszahler.html\nhttps://www.bpb.de/kurz-knapp/zahlen-und-fakten/soziale-situation-in-deutschland/61896/steuer-und-abgabenlast-von-durchschnittsverdienern/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Chris Emil Janßen\nOriginalvideo: https://www.youtube.com/watch?v=V23Ymf0yq94&t=1336s\n\nInhalt:\n(00:00:00) Intro\n(00:01:14) Beschäftigte sollen es ausbaden\n(00:09:50) Hat Deutschland eine steigende Abgabenlast?\n(00:19:50) \"Reformen helfen uns allen\"\n(00:24:29) Die ersten Pfiffe für Merz (Thema Rente)\n(00:28:39) Kapitalgedeckte Altersvorsorge\n(00:34:10) Merz wird ausgebuht (Kurzungen = \"Reformen\")\n(00:41:20) Merz feiert seine Erfolge und resümiert…\n(00:50:36) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #dgb #rede", "duration" => 3056, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051500 - DARUM wurde Merz ZU LEISE ausgebuht!.mp4", "id" => "ipolMILkg_M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ipolMILkg_M", "playlist_index" => 15, "timestamp" => 1778858237, "title" => "DARUM wurde Merz ZU LEISE ausgebuht!", "upload_date" => "20260515"} 03:29:27.120 [debug] QUERY OK source="sources" db=0.1ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:27.121 [debug] QUERY OK source="sources" db=0.0ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:27.122 [debug] QUERY OK source="media_items" db=1.1ms 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-05-15 15:17:17Z], 30] 03:29:27.123 [debug] QUERY OK source="media_items" db=1.0ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Kanzler Merz hält eine Verzichtsrede beim DGB und erntet dafür Buh-Rufe. Zurecht?\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nQuellen:\nhttps://www.iwkoeln.de/fileadmin/user_upload/Studien/IW-Trends/PDF/2025/IW-Trends_2025-02-06_Schr%C3%B6der.pdf \nhttps://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \nhttps://www.demografie-portal.de/DE/Fakten/altersrentner-beitragszahler.html\nhttps://www.bpb.de/kurz-knapp/zahlen-und-fakten/soziale-situation-in-deutschland/61896/steuer-und-abgabenlast-von-durchschnittsverdienern/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Chris Emil Janßen\nOriginalvideo: https://www.youtube.com/watch?v=V23Ymf0yq94&t=1336s\n\nInhalt:\n(00:00:00) Intro\n(00:01:14) Beschäftigte sollen es ausbaden\n(00:09:50) Hat Deutschland eine steigende Abgabenlast?\n(00:19:50) \"Reformen helfen uns allen\"\n(00:24:29) Die ersten Pfiffe für Merz (Thema Rente)\n(00:28:39) Kapitalgedeckte Altersvorsorge\n(00:34:10) Merz wird ausgebuht (Kurzungen = \"Reformen\")\n(00:41:20) Merz feiert seine Erfolge und resümiert…\n(00:50:36) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #dgb #rede", "DARUM wurde Merz ZU LEISE ausgebuht!", "5ba98792-7d5b-4471-b8c7-b1db2e22e038", false, 30, [], 3056, false, "ipolMILkg_M", "https://www.youtube.com/watch?v=ipolMILkg_M", 15, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051500 - DARUM wurde Merz ZU LEISE ausgebuht!.mp4", false, false, 98, ~U[2026-05-15 15:17:17Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Kanzler Merz hält eine Verzichtsrede beim DGB und erntet dafür Buh-Rufe. Zurecht?\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nQuellen:\nhttps://www.iwkoeln.de/fileadmin/user_upload/Studien/IW-Trends/PDF/2025/IW-Trends_2025-02-06_Schr%C3%B6der.pdf \nhttps://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \nhttps://www.demografie-portal.de/DE/Fakten/altersrentner-beitragszahler.html\nhttps://www.bpb.de/kurz-knapp/zahlen-und-fakten/soziale-situation-in-deutschland/61896/steuer-und-abgabenlast-von-durchschnittsverdienern/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Chris Emil Janßen\nOriginalvideo: https://www.youtube.com/watch?v=V23Ymf0yq94&t=1336s\n\nInhalt:\n(00:00:00) Intro\n(00:01:14) Beschäftigte sollen es ausbaden\n(00:09:50) Hat Deutschland eine steigende Abgabenlast?\n(00:19:50) \"Reformen helfen uns allen\"\n(00:24:29) Die ersten Pfiffe für Merz (Thema Rente)\n(00:28:39) Kapitalgedeckte Altersvorsorge\n(00:34:10) Merz wird ausgebuht (Kurzungen = \"Reformen\")\n(00:41:20) Merz feiert seine Erfolge und resümiert…\n(00:50:36) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #dgb #rede", "DARUM wurde Merz ZU LEISE ausgebuht!", 30, 3056, false, "ipolMILkg_M", "https://www.youtube.com/watch?v=ipolMILkg_M", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051500 - DARUM wurde Merz ZU LEISE ausgebuht!.mp4", false, ~U[2026-05-15 15:17:17Z]] 03:29:27.123 [debug] QUERY OK source="sources" db=0.1ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:27.124 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.124 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4960511] 03:29:27.124 [debug] Current batch of media processed. Will check again in 1000ms 03:29:27.333 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@CNCKitchen --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/CNC Kitchen/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/2b/33/2b337166f419db8f0e98b2d030ac51b746a3615766bf7ca6cada8ae3bbeb4c54.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/24/3f/243f77e7507efec13b1bb30092a57b08b294a063f32c6b2b02566cbfbd9304f2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:29:27.333 [debug] Gracefully stopping file follower 03:29:27.334 [debug] QUERY OK source="sources" db=0.3ms idle=211.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [63] 03:29:27.334 [debug] QUERY OK source="sources" db=0.0ms idle=210.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.335 [debug] QUERY OK source="media_items" db=0.5ms idle=210.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-18 15:30:21Z], 63] 03:29:27.336 [debug] QUERY OK source="media_items" db=0.7ms idle=211.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🚀 Turn your obsession with Klipper, custom printers, and machine calibration into a career at Zellerfeld in Hamburg: https://geni.us/ZellerfeldJob\n\nModern 3D printers already contain sensors that could do far more than simply level the bed. In this video, I use the load cell inside a Prusa Nextruder to automatically estimate Pressure Advance, test maximum flow rate, and explore the potential for detecting clogs, crashes, and extrusion problems. The result is an open-source proof of concept showing how smarter software could unlock entirely new capabilities from hardware that is already inside our printers.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAutomatic Pressure Advance Tuner: https://github.com/CNCKitchen/PrusaPATuner\nbd_pressure for Klipper: https://github.com/markniu/bd_pressure\nPandaPi3D Nozzle Sensor: https://pandapi3d.cn/en/bdpressure/home\nAmplify Hotend: https://github.com/EllaFoxo/Amplify-Hotend\n\nSome Patents I stumbled over:\nPattern based PA Calibration: https://patents.google.com/patent/US11303763B1/en\nForce/Sensor Based Calibration: https://patents.google.com/patent/CN117261215B/en\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Pressure Advance\n05:07 Sponsor\n07:12 Automating PA Tuning\n15:16 Automatic Flow Tuning\n16:11 Automatic Skew Correction\n16:55 Process Monitoring\n18:00 Other Solutions\n19:01 Patents\n20:19 Verdict\n\n#3Dprinting #prusa #klipper \nDISCLAIMER: Part of this video was sponsored by Zellerfeld.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "I Automated Pressure Advance Using a Bed-Leveling Sensor", "5623502c-db52-4e01-a36d-c2daea0b3ed3", false, 63, [], 1289, false, "sHLGrTBLxLg", "https://www.youtube.com/watch?v=sHLGrTBLxLg", 1, "/downloads/CNC Kitchen/Season 2026/s2026e071800 - I Automated Pressure Advance Using a Bed-Leveling Sensor.mp4", false, false, 98, ~U[2026-07-18 15:30:21Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "🚀 Turn your obsession with Klipper, custom printers, and machine calibration into a career at Zellerfeld in Hamburg: https://geni.us/ZellerfeldJob\n\nModern 3D printers already contain sensors that could do far more than simply level the bed. In this video, I use the load cell inside a Prusa Nextruder to automatically estimate Pressure Advance, test maximum flow rate, and explore the potential for detecting clogs, crashes, and extrusion problems. The result is an open-source proof of concept showing how smarter software could unlock entirely new capabilities from hardware that is already inside our printers.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAutomatic Pressure Advance Tuner: https://github.com/CNCKitchen/PrusaPATuner\nbd_pressure for Klipper: https://github.com/markniu/bd_pressure\nPandaPi3D Nozzle Sensor: https://pandapi3d.cn/en/bdpressure/home\nAmplify Hotend: https://github.com/EllaFoxo/Amplify-Hotend\n\nSome Patents I stumbled over:\nPattern based PA Calibration: https://patents.google.com/patent/US11303763B1/en\nForce/Sensor Based Calibration: https://patents.google.com/patent/CN117261215B/en\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Pressure Advance\n05:07 Sponsor\n07:12 Automating PA Tuning\n15:16 Automatic Flow Tuning\n16:11 Automatic Skew Correction\n16:55 Process Monitoring\n18:00 Other Solutions\n19:01 Patents\n20:19 Verdict\n\n#3Dprinting #prusa #klipper \nDISCLAIMER: Part of this video was sponsored by Zellerfeld.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "I Automated Pressure Advance Using a Bed-Leveling Sensor", 63, 1289, false, "sHLGrTBLxLg", "https://www.youtube.com/watch?v=sHLGrTBLxLg", "/downloads/CNC Kitchen/Season 2026/s2026e071800 - I Automated Pressure Advance Using a Bed-Leveling Sensor.mp4", false, ~U[2026-07-18 15:30:21Z]] 03:29:27.336 [debug] QUERY OK source="sources" db=0.1ms idle=212.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.337 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 15:30:05Z], 63] 03:29:27.338 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["BumpMesh is totally free: https://BumpMesh.com\nJoin us at OpenSauce: https://www.opensauce.com\n\nBumpMesh started as a simple tool for applying physical textures to 3D prints, but the community has helped turn it into something much more capable. The new version produces cleaner geometry, offers more control, and processes detailed models significantly faster. This video covers the biggest improvements and gives a preview of what is still to come.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBumpMesh: https://BumpMesh.com\nComment on Printables: https://www.printables.com/model/1666241-bumpmeshcom-stl-texturizer\nComment on MakerWorld: https://makerworld.com/de/models/2617463-bumpmesh-com-stl-texturizer\nBumpMesh on GitHub: https://github.com/CNCKitchen/stlTexturizer\n\nMy new STEP Converter (and viewer): https://cnckitchen.github.io/meshStep/\nFilaSim, my Simulation Tool for FDM prints (WIP): https://cnckitchen.github.io/smartInfillGenerator/\n\n🖨️ Printed Files:\nShifter: https://www.printables.com/model/852244-gear-shift-knob-m12-x-175-subaru\nBunny: https://www.printables.com/model/816107-bunny-eggs-easter-eggs-with-bunny-ears\nBear: https://www.printables.com/model/420173-barry-bear\n3DBenchy: https://www.printables.com/model/1618564-original-3dbenchy-public-domain-cad-step-file\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n#3Dprinting #stl #bumpmesh\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Half a Million Views Later… BumpMesh Is Way Better", "37dd8557-6090-4113-aaf2-cc9a11093da0", false, 63, [], 514, false, "Y_vkCFwDIBY", "https://www.youtube.com/watch?v=Y_vkCFwDIBY", 2, "/downloads/CNC Kitchen/Season 2026/s2026e071100 - Half a Million Views Later… BumpMesh Is Way Better.mp4", false, false, 98, ~U[2026-07-11 15:30:05Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "BumpMesh is totally free: https://BumpMesh.com\nJoin us at OpenSauce: https://www.opensauce.com\n\nBumpMesh started as a simple tool for applying physical textures to 3D prints, but the community has helped turn it into something much more capable. The new version produces cleaner geometry, offers more control, and processes detailed models significantly faster. This video covers the biggest improvements and gives a preview of what is still to come.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBumpMesh: https://BumpMesh.com\nComment on Printables: https://www.printables.com/model/1666241-bumpmeshcom-stl-texturizer\nComment on MakerWorld: https://makerworld.com/de/models/2617463-bumpmesh-com-stl-texturizer\nBumpMesh on GitHub: https://github.com/CNCKitchen/stlTexturizer\n\nMy new STEP Converter (and viewer): https://cnckitchen.github.io/meshStep/\nFilaSim, my Simulation Tool for FDM prints (WIP): https://cnckitchen.github.io/smartInfillGenerator/\n\n🖨️ Printed Files:\nShifter: https://www.printables.com/model/852244-gear-shift-knob-m12-x-175-subaru\nBunny: https://www.printables.com/model/816107-bunny-eggs-easter-eggs-with-bunny-ears\nBear: https://www.printables.com/model/420173-barry-bear\n3DBenchy: https://www.printables.com/model/1618564-original-3dbenchy-public-domain-cad-step-file\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n#3Dprinting #stl #bumpmesh\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Half a Million Views Later… BumpMesh Is Way Better", 63, 514, false, "Y_vkCFwDIBY", "https://www.youtube.com/watch?v=Y_vkCFwDIBY", "/downloads/CNC Kitchen/Season 2026/s2026e071100 - Half a Million Views Later… BumpMesh Is Way Better.mp4", false, ~U[2026-07-11 15:30:05Z]] 03:29:27.338 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.339 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 15:32:33Z], 63] 03:29:27.340 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to XTool for sponsoring this video! Check out the XTool F2 Ultra ( https://geni.us/F2Ultra ) and F2 Ultra UV (https://geni.us/F2UltraUV)\n\nI tested whether lasers can solve one of the annoying problems in 3D printing: adding clean, permanent, professional-looking markings to printed parts. Using UV, MOPA fiber, and diode lasers, I marked dozens of PLA, PETG, ASA, TPU, and polycarbonate samples and found that the result depends less on the plastic itself and much more on the pigments and additives inside the filament. In the end, the UV laser was the easiest and most reliable tool for marking 3D prints, while the MOPA laser was powerful and tunable but more demanding, and the blue diode laser was mostly better suited for cutting and engraving other materials.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🚀Products from the Video(Affiliate Links):\nMOPA Fiber Laser: https://geni.us/F2Ultra\nUV Laser: https://geni.us/F2UltraUV\nXTool Air Purifier 2: https://geni.us/XToolAP2\nMetalFab for Cutting and Welding: https://geni.us/XhQR12r\nRobins Tools SMD Magazines: https://www.crowdsupply.com/robins-tools/pixel-pump-2\n\nMy studio colleagues are @MariusHornberger and @RobinsTools .\nSMD Magazines: https://shop.robins-tools.com/products/smd-magazines-pack-of-eight\nCoin Cleaning and Laser Smoothing video by @ilaserthings and @MinWin3D .\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n04:02 The Challenge\n04:32 Insane Laser Intensity!\n06:27 Understanding Different Laser Types\n15:24 Test Setup\n16:49 How Lasers Mark Plastics\n17:36 Laser Safety\n18:50 UV Laser Results\n20:54 Dot Pattern and \"Sky Writing\"\n22:33 MOPA Laser Results\n23:53 Blue Laser\n24:32 Laser Smoothing?!\n25:08 Practical Applications\n27:05 \"Laser Batch Additives\"\n27:47 Durability of Laser Markings\n28:33 Details of UV Laser\n29:08 Summary\n\n#3Dprinting #laser #xtool\nDISCLAIMER: Part of this video was sponsored by XTool.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Is This Laser the 3D Printing Solution We Needed?", "d0a804e1-e444-4e76-8f7b-b60c7b49e1a5", false, 63, [], 1913, false, "jA-E5CGcBxI", "https://www.youtube.com/watch?v=jA-E5CGcBxI", 3, "/downloads/CNC Kitchen/Season 2026/s2026e062000 - Is This Laser the 3D Printing Solution We Needed?.mp4", false, false, 98, ~U[2026-06-20 15:32:33Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Thanks to XTool for sponsoring this video! Check out the XTool F2 Ultra ( https://geni.us/F2Ultra ) and F2 Ultra UV (https://geni.us/F2UltraUV)\n\nI tested whether lasers can solve one of the annoying problems in 3D printing: adding clean, permanent, professional-looking markings to printed parts. Using UV, MOPA fiber, and diode lasers, I marked dozens of PLA, PETG, ASA, TPU, and polycarbonate samples and found that the result depends less on the plastic itself and much more on the pigments and additives inside the filament. In the end, the UV laser was the easiest and most reliable tool for marking 3D prints, while the MOPA laser was powerful and tunable but more demanding, and the blue diode laser was mostly better suited for cutting and engraving other materials.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🚀Products from the Video(Affiliate Links):\nMOPA Fiber Laser: https://geni.us/F2Ultra\nUV Laser: https://geni.us/F2UltraUV\nXTool Air Purifier 2: https://geni.us/XToolAP2\nMetalFab for Cutting and Welding: https://geni.us/XhQR12r\nRobins Tools SMD Magazines: https://www.crowdsupply.com/robins-tools/pixel-pump-2\n\nMy studio colleagues are @MariusHornberger and @RobinsTools .\nSMD Magazines: https://shop.robins-tools.com/products/smd-magazines-pack-of-eight\nCoin Cleaning and Laser Smoothing video by @ilaserthings and @MinWin3D .\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n04:02 The Challenge\n04:32 Insane Laser Intensity!\n06:27 Understanding Different Laser Types\n15:24 Test Setup\n16:49 How Lasers Mark Plastics\n17:36 Laser Safety\n18:50 UV Laser Results\n20:54 Dot Pattern and \"Sky Writing\"\n22:33 MOPA Laser Results\n23:53 Blue Laser\n24:32 Laser Smoothing?!\n25:08 Practical Applications\n27:05 \"Laser Batch Additives\"\n27:47 Durability of Laser Markings\n28:33 Details of UV Laser\n29:08 Summary\n\n#3Dprinting #laser #xtool\nDISCLAIMER: Part of this video was sponsored by XTool.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Is This Laser the 3D Printing Solution We Needed?", 63, 1913, false, "jA-E5CGcBxI", "https://www.youtube.com/watch?v=jA-E5CGcBxI", "/downloads/CNC Kitchen/Season 2026/s2026e062000 - Is This Laser the 3D Printing Solution We Needed?.mp4", false, ~U[2026-06-20 15:32:33Z]] 03:29:27.341 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.341 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 14:00:36Z], 63] 03:29:27.345 [debug] QUERY OK source="media_items" db=3.4ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://voxelpla.com to check out their super reliable filaments & accessories! Get 10% off every order above $100 with code JUSTANA1\n🐼 Get the NEW Bambu Lab A2L: https://geni.us/BBL-A2L (affiliate)\n\nI review the new Bambu Lab A2L after almost 400 hours of testing, looking at print quality, build volume, speed, AMS support, and the new cutting module. I also discuss the current controversy around Bambu Lab and whether this is really a second-generation A-series printer, or just a good A1L.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n🐼 Bambu Lab Controversy:\nSummary by @JeffGeerling : https://youtu.be/eb48MdtNaDQ?si=91pyiJEbjuysm6u9\nPawel's Orca Slicer repository: https://github.com/jarczakpawel/OrcaSlicer-bambulab\nRe-uploaded Repository: https://github.com/FULU-Foundation/OrcaSlicer-bambulab\nConsumer Rights Wiki about Bambu Lab: https://consumerrights.wiki/w/Bambu_Lab\nA1 NTC Meltdown: https://consumerrights.wiki/w/Bambu_Lab_A1_NTC_thermistor_fire_and_meltdown_hazard\n\n🐼 Products from the Video(Affiliate Links):\nBambu Lab A2L Combo ($569 / 489€): https://geni.us/BBL-A2L\nBambu Lab A2L Standalone ($469 / 379€): https://geni.us/BBL-A2L-SAL\n\nBambu Lab Cut & Draw Upgrade: https://geni.us/BBL-CutUpgrade\nBIQU CryoGrip Build Plate: https://geni.us/BQCryo\nGood $20 Surveillance Cam: https://geni.us/WJjewA7\nMy favorite 3D Scanner (Creality Raptor): https://geni.us/Lr49iZ\nSegway Lawn Mower: https://geni.us/0NOvHs\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAlternatives (Affiliate Links):\n(Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Nozzle Changer) CORE One INDX: https://geni.us/PrusaINDX\n(420*420*500) Anycubic Kobra 3 Max Combo: https://anycubic.sjv.io/aN2AgQ\n(innovative printhead) Anycubic Kobra X: https://anycubic.sjv.io/ZVBKaW\n(320*320*385 ) Elegoo Neptune 4 Plus: https://elegoo.sjv.io/B5byg4\n(EU Made) Prusa XL: https://geni.us/Prusa-XL\n\n🖨️ Printed Files:\nVector3D Califlower: https://vector3d.shop/products/califlower-calibration-tool-mk2\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nBoomerang: https://www.printables.com/model/1505376-trivenger-boomerang-tpu-multi-material\nHydroponics Tower: https://www.printables.com/model/720081-modular-hydroponic-tower\nGothic Game Scavenger: https://sketchfab.com/3d-models/scavenger-gothic-stl-3d-printing-free-08af7bb4ab7147bda4e562261a726058\nMandalorian Helmet: https://makerworld.com/en/models/2739643-tribal-carvings-in-mandalorian-helmet#profileId-3051122\nMulti-Color Catan Set: https://www.thingiverse.com/thing:2525047\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 What's going on with Bambu Lab?\n04:23 The A2L\n08:58 Sponsor\n10:58 Printer Setup\n12:09 Specs\n18:05 A1L?\n19:13 Prints\n28:20 Electronics\n29:12 Power and Noise\n30:27 The Cutting Module (Plotter)\n33:06 Verdict\n34:16 To buy or NOT to buy?\n\n#3Dprinting #bambulab #a2l\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Bambu A2L: My Honest Review After 400 Hours", "3994f2b0-e3ef-44b8-83dc-1cd2ec907d81", false, 63, [], 2175, false, "r1y09JIcrNE", "https://www.youtube.com/watch?v=r1y09JIcrNE", 4, "/downloads/CNC Kitchen/Season 2026/s2026e060100 - Bambu A2L: My Honest Review After 400 Hours.mp4", false, false, 98, ~U[2026-06-01 14:00:36Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Visit https://voxelpla.com to check out their super reliable filaments & accessories! Get 10% off every order above $100 with code JUSTANA1\n🐼 Get the NEW Bambu Lab A2L: https://geni.us/BBL-A2L (affiliate)\n\nI review the new Bambu Lab A2L after almost 400 hours of testing, looking at print quality, build volume, speed, AMS support, and the new cutting module. I also discuss the current controversy around Bambu Lab and whether this is really a second-generation A-series printer, or just a good A1L.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n🐼 Bambu Lab Controversy:\nSummary by @JeffGeerling : https://youtu.be/eb48MdtNaDQ?si=91pyiJEbjuysm6u9\nPawel's Orca Slicer repository: https://github.com/jarczakpawel/OrcaSlicer-bambulab\nRe-uploaded Repository: https://github.com/FULU-Foundation/OrcaSlicer-bambulab\nConsumer Rights Wiki about Bambu Lab: https://consumerrights.wiki/w/Bambu_Lab\nA1 NTC Meltdown: https://consumerrights.wiki/w/Bambu_Lab_A1_NTC_thermistor_fire_and_meltdown_hazard\n\n🐼 Products from the Video(Affiliate Links):\nBambu Lab A2L Combo ($569 / 489€): https://geni.us/BBL-A2L\nBambu Lab A2L Standalone ($469 / 379€): https://geni.us/BBL-A2L-SAL\n\nBambu Lab Cut & Draw Upgrade: https://geni.us/BBL-CutUpgrade\nBIQU CryoGrip Build Plate: https://geni.us/BQCryo\nGood $20 Surveillance Cam: https://geni.us/WJjewA7\nMy favorite 3D Scanner (Creality Raptor): https://geni.us/Lr49iZ\nSegway Lawn Mower: https://geni.us/0NOvHs\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAlternatives (Affiliate Links):\n(Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Nozzle Changer) CORE One INDX: https://geni.us/PrusaINDX\n(420*420*500) Anycubic Kobra 3 Max Combo: https://anycubic.sjv.io/aN2AgQ\n(innovative printhead) Anycubic Kobra X: https://anycubic.sjv.io/ZVBKaW\n(320*320*385 ) Elegoo Neptune 4 Plus: https://elegoo.sjv.io/B5byg4\n(EU Made) Prusa XL: https://geni.us/Prusa-XL\n\n🖨️ Printed Files:\nVector3D Califlower: https://vector3d.shop/products/califlower-calibration-tool-mk2\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nBoomerang: https://www.printables.com/model/1505376-trivenger-boomerang-tpu-multi-material\nHydroponics Tower: https://www.printables.com/model/720081-modular-hydroponic-tower\nGothic Game Scavenger: https://sketchfab.com/3d-models/scavenger-gothic-stl-3d-printing-free-08af7bb4ab7147bda4e562261a726058\nMandalorian Helmet: https://makerworld.com/en/models/2739643-tribal-carvings-in-mandalorian-helmet#profileId-3051122\nMulti-Color Catan Set: https://www.thingiverse.com/thing:2525047\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my P (truncated) 03:29:27.346 [debug] QUERY OK source="sources" db=0.1ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.346 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 14:00:16Z], 63] 03:29:27.348 [debug] QUERY OK source="media_items" db=1.0ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://voxelpla.com to check out their super reliable filaments & accessories! Get 10% off every order above $100 with code VOXELKITCHEN\n🐼 Get the NEW Bambu Lab X2D: https://geni.us/BBL-X2D (affiliate)\n\nThe Bambu Lab X2D brings dual-nozzle printing to a surprisingly low price point — but not without compromise. So is this now the best Bambu printer to get?\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n🐼Products from the Video(Affiliate Links):\nBambu Lab X2D: https://geni.us/BBL-X2D\nVision Encoder Plate: https://geni.us/BBL-VsnEcd\nTPU Assist Motor: https://geni.us/BBL-TPUFdr\nFilament Track Switch:\nAMS 2 Pro Power Supply: https://geni.us/BBL-AMSPwr\nBIQU Panda Diaper: https://geni.us/BQ-PndDpr\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAlternatives (affiliate):\n(Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Heated Chamber/370°C Hotend) QIDI Q2: https://geni.us/QIDI-Q2\n(Nozzle Changer) CORE One INDX: https://geni.us/PrusaINDX\n\n🖨️ Printed Files:\nVector3D Califlower: https://vector3d.shop/products/califlower-calibration-tool-mk2\nRetro Rocket: https://makerworld.com/en/models/34057-an-old-retro-rocket#profileId-34245\nDareDevil Helmet: https://makerworld.com/en/models/724093-daredevil-helmet#profileId-655167\nBonsai Desk Lamp: https://makerworld.com/en/models/2535327-bonsai-desk-lamp#profileId-2790695\nChicken: https://makerworld.com/en/models/2495011-chicken-easter-decoration#profileId-2742144\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nBoomerang: https://www.printables.com/model/1505376-trivenger-boomerang-tpu-multi-material\nHydroponics Tower: https://www.printables.com/model/720081-modular-hydroponic-tower\nBatman: https://makerworld.com/en/models/2563176-batman-skyscraper-vigil-ultra-detailed\nThanos Bust: https://www.printables.com/model/36688-infinity-war-thanos-bust-stl\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:22 Why dual nozzle matters\n02:35 Disclaimer\n03:07 The X2D\n04:41 Sponsor\n06:24 Changes\n11:17 AMS 2 Pro\n12:24 Filament Track Switch\n12:48 Print results\n16:15 Power Consumption\n17:36 Print time estimation\n17:58 Emissions\n19:05 Noise\n19:46 Vision Encoder Plate\n20:55 Downsides\n24:20 Verdict\n25:35 Alternatives\n\n#3Dprinting #bambulab #x2d\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Bambu Lab X2D Review: Affordable Dual-Nozzle Printing, with a Catch", "4f219729-c01e-40f3-af49-4cdbcdc9f327", false, 63, [], 1619, false, "NTSp5zFRX0I", "https://www.youtube.com/watch?v=NTSp5zFRX0I", 5, "/downloads/CNC Kitchen/Season 2026/s2026e041400 - Bambu Lab X2D Review: Affordable Dual-Nozzle Printing, with a Catch.mp4", false, false, 98, ~U[2026-04-14 14:00:16Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Visit https://voxelpla.com to check out their super reliable filaments & accessories! Get 10% off every order above $100 with code VOXELKITCHEN\n🐼 Get the NEW Bambu Lab X2D: https://geni.us/BBL-X2D (affiliate)\n\nThe Bambu Lab X2D brings dual-nozzle printing to a surprisingly low price point — but not without compromise. So is this now the best Bambu printer to get?\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAdd a texture to your 3D prints with my BumpMesh Tool: https://bumpmesh.com/\n\n🐼Products from the Video(Affiliate Links):\nBambu Lab X2D: https://geni.us/BBL-X2D\nVision Encoder Plate: https://geni.us/BBL-VsnEcd\nTPU Assist Motor: https://geni.us/BBL-TPUFdr\nFilament Track Switch:\nAMS 2 Pro Power Supply: https://geni.us/BBL-AMSPwr\nBIQU Panda Diaper: https://geni.us/BQ-PndDpr\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nAlternatives (affiliate):\n(Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Heated Chamber/370°C Hotend) QIDI Q2: https://geni.us/QIDI-Q2\n(Nozzle Changer) CORE One INDX: https://geni.us/PrusaINDX\n\n🖨️ Printed Files:\nVector3D Califlower: https://vector3d.shop/products/califlower-calibration-tool-mk2\nRetro Rocket: https://makerworld.com/en/models/34057-an-old-retro-rocket#profileId-34245\nDareDevil Helmet: https://makerworld.com/en/models/724093-daredevil-helmet#profileId-655167\nBonsai Desk Lamp: https://makerworld.com/en/models/2535327-bonsai-desk-lamp#profileId-2790695\nChicken: https://makerworld.com/en/models/2495011-chicken-easter-decoration#profileId-2742144\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nBoomerang: https://www.printables.com/model/1505376-trivenger-boomerang-tpu-multi-material\nHydroponics Tower: https://www.printables.com/model/720081-modular-hydroponic-tower\nBatman: https://makerworld.com/en/models/2563176-batman-skyscraper-vigil-ultra-detailed\nThanos Bust: https://www.printables.com/model/36688-infinity-war-thanos-bust-stl\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:22 Why dual nozzle matters\n02:35 Disclaimer\n03:07 The X2D\n04:41 Sponsor\n06:24 Changes\n11:17 AMS 2 Pro\n12:24 Filament Track Switch\n12:48 Print results\n16:15 Power Consumption\n17:36 Print time estimation\n17:58 Emissions\n19:05 Noise\n19:46 Vision Encoder Plate\n20:55 Downsides\n24:20 Verdict\n25:35 Alternatives\n\n#3Dprinting #bambulab #x2d\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Bambu Lab X2D Review: Affordable Dual-Nozzle Printing, with a Catch", 63, 1619, false, "NTSp5zFRX0I", "https://www.youtube.com/watch?v=NTSp5zFRX0I", "/downloads/CNC Kitchen/Season 2026/s2026e041400 - Bambu Lab X2D Review: Affordable Dual-Nozzle Printing, with a Catch.mp4", false, ~U[2026-04-14 14:00:16Z]] 03:29:27.348 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.349 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 17:28:18Z], 63] 03:29:27.350 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Use BumpMesh totally free: https://BumpMesh.com\nBumpMesh is a free, open-source, browser-based tool for applying custom displacement textures to your 3D models — no account, no software install, and no expensive licenses required. Simply load your STL, OBJ, or 3MF file, choose or upload a texture, adjust projection, depth, and masking to your liking, and export a print-ready mesh in minutes. Whether you want to hide Z-seams, add grip, stiffen vase mode prints, or just make your parts look stunning, BumpMesh gives you professional-quality surface texturing completely for free at https://BumpMesh.com.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBumpMesh: https://BumpMesh.com\nComment on Printables: https://www.printables.com/model/1666241-bumpmeshcom-stl-texturizer\nComment on MakerWorld: https://makerworld.com/de/models/2617463-bumpmesh-com-stl-texturizer\nBumpMesh on Github: https://github.com/CNCKitchen/stlTexturizer\n\nGridfinity Label Generator: https://cnckitchen.github.io/gridfinityLabelGenerator/\nstl Spiralizer: https://cnckitchen.github.io/modelSpiralizer/\n\nFormlabs Meshy: https://formlabs.com/meshy/\nIdeaMaker Slicer: https://www.raise3d.com/ideamaker/\nMaterialise 3-matic: https://www.materialise.com/industrie/software/3-matic\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:47 The Problem\n02:38 BumpMesh.com\n03:07 Walkthrough\n08:58 Example 1: Hiding Seams\n09:23 Example 2: Custom Textures\n09:44 Example 3: Vasemode Prints\n10:10 Example 4: Grips\n10:47 Limitation\n12:12 Agentic Coding / Vibe Coding\n13:28 Call to Action\n\n#3Dprinting #stl #texture\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Stop Using Fuzzy Skin - I made something better!", "7cb40d5e-db6b-411e-aee6-bd1be0720f72", false, 63, [], 852, false, "rTBkjR7JvzI", "https://www.youtube.com/watch?v=rTBkjR7JvzI", 6, "/downloads/CNC Kitchen/Season 2026/s2026e040400 - Stop Using Fuzzy Skin - I made something better!.mp4", false, false, 98, ~U[2026-04-04 17:28:18Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Use BumpMesh totally free: https://BumpMesh.com\nBumpMesh is a free, open-source, browser-based tool for applying custom displacement textures to your 3D models — no account, no software install, and no expensive licenses required. Simply load your STL, OBJ, or 3MF file, choose or upload a texture, adjust projection, depth, and masking to your liking, and export a print-ready mesh in minutes. Whether you want to hide Z-seams, add grip, stiffen vase mode prints, or just make your parts look stunning, BumpMesh gives you professional-quality surface texturing completely for free at https://BumpMesh.com.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBumpMesh: https://BumpMesh.com\nComment on Printables: https://www.printables.com/model/1666241-bumpmeshcom-stl-texturizer\nComment on MakerWorld: https://makerworld.com/de/models/2617463-bumpmesh-com-stl-texturizer\nBumpMesh on Github: https://github.com/CNCKitchen/stlTexturizer\n\nGridfinity Label Generator: https://cnckitchen.github.io/gridfinityLabelGenerator/\nstl Spiralizer: https://cnckitchen.github.io/modelSpiralizer/\n\nFormlabs Meshy: https://formlabs.com/meshy/\nIdeaMaker Slicer: https://www.raise3d.com/ideamaker/\nMaterialise 3-matic: https://www.materialise.com/industrie/software/3-matic\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:47 The Problem\n02:38 BumpMesh.com\n03:07 Walkthrough\n08:58 Example 1: Hiding Seams\n09:23 Example 2: Custom Textures\n09:44 Example 3: Vasemode Prints\n10:10 Example 4: Grips\n10:47 Limitation\n12:12 Agentic Coding / Vibe Coding\n13:28 Call to Action\n\n#3Dprinting #stl #texture\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Stop Using Fuzzy Skin - I made something better!", 63, 852, false, "rTBkjR7JvzI", "https://www.youtube.com/watch?v=rTBkjR7JvzI", "/downloads/CNC Kitchen/Season 2026/s2026e040400 - Stop Using Fuzzy Skin - I made something better!.mp4", false, ~U[2026-04-04 17:28:18Z]] 03:29:27.351 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.351 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 16:31:06Z], 63] 03:29:27.353 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out https://www.pcbway.com for your high-quality 3D prints, PCBs, CNC'd, and sheet metal parts! The first 200 customers get $10 off with coupon \"PCBWay-CNC Kitchen10\" on orders above $30.\n\nIn this video, I test how heat-set insert hole size actually affects installation and pull-out strength in 3D-printed parts. By comparing dozens of samples with different hole diameters, I find the sweet spot where inserts are easy to pre-seat while still retaining nearly maximum strength. I also share simple test parts you can use to find the right hole size for your own printer and material.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nInsert Straightener\n(US Shop): https://cnckitchenus.store/products/insert-straightener-m2-to-m10-2-56-to-g1-9\n(Global Shop): https://cnckitchen.store/products/insert-straighteners\nUSB Soldering Iron\n(US Shop): https://cnckitchenus.store/products/soldering-iron-t90b?variant=48105538846820\n(Global Shop): https://cnckitchen.store/products/soldering-iron-t90b\n\nInsert Hole Size Calibration Parts: https://www.printables.com/model/1648510-hole-size-test-for-heat-set-inserts\nPolyholes: https://hydraraptor.blogspot.com/2011/02/polyholes.html\n\nGerman/Deutsche Version: https://youtu.be/cWTPCJSo8ws\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:03 Heat-Set Inserts for 3D Printing\n01:50 The Problem\n03:03 Test Setup\n07:13 Sponsor\n08:46 Ease of Installation\n09:57 Strength Test: As-Pritned Samples\n11:46 High-Speed Shots\n14:04 Strength Test: Drilled Samples\n15:47 Calibration Test\n17:00 Verdict\n\n#3Dprinting #heatsetinserts #inserts\nDISCLAIMER: Part of this video was sponsored by PCBWay.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Are Our Heat-Set Insert Datasheets Wrong?", "5c5a309d-e670-44d0-a3c5-b45ac9cbbdff", false, 63, [], 1109, false, "B5g7R53hcH4", "https://www.youtube.com/watch?v=B5g7R53hcH4", 7, "/downloads/CNC Kitchen/Season 2026/s2026e032800 - Are Our Heat-Set Insert Datasheets Wrong?.mp4", false, false, 98, ~U[2026-03-28 16:31:06Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Check out https://www.pcbway.com for your high-quality 3D prints, PCBs, CNC'd, and sheet metal parts! The first 200 customers get $10 off with coupon \"PCBWay-CNC Kitchen10\" on orders above $30.\n\nIn this video, I test how heat-set insert hole size actually affects installation and pull-out strength in 3D-printed parts. By comparing dozens of samples with different hole diameters, I find the sweet spot where inserts are easy to pre-seat while still retaining nearly maximum strength. I also share simple test parts you can use to find the right hole size for your own printer and material.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nInsert Straightener\n(US Shop): https://cnckitchenus.store/products/insert-straightener-m2-to-m10-2-56-to-g1-9\n(Global Shop): https://cnckitchen.store/products/insert-straighteners\nUSB Soldering Iron\n(US Shop): https://cnckitchenus.store/products/soldering-iron-t90b?variant=48105538846820\n(Global Shop): https://cnckitchen.store/products/soldering-iron-t90b\n\nInsert Hole Size Calibration Parts: https://www.printables.com/model/1648510-hole-size-test-for-heat-set-inserts\nPolyholes: https://hydraraptor.blogspot.com/2011/02/polyholes.html\n\nGerman/Deutsche Version: https://youtu.be/cWTPCJSo8ws\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:03 Heat-Set Inserts for 3D Printing\n01:50 The Problem\n03:03 Test Setup\n07:13 Sponsor\n08:46 Ease of Installation\n09:57 Strength Test: As-Pritned Samples\n11:46 High-Speed Shots\n14:04 Strength Test: Drilled Samples\n15:47 Calibration Test\n17:00 Verdict\n\n#3Dprinting #heatsetinserts #inserts\nDISCLAIMER: Part of this video was sponsored by PCBWay.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Are Our Heat-Set Insert Datasheets Wrong?", 63, 1109, false, "B5g7R53hcH4", "https://www.youtube.com/watch?v=B5g7R53hcH4", "/downloads/CNC Kitchen/Season 2026/s2026e032800 - Are Our Heat-Set Insert Datasheets Wrong?.mp4", false, ~U[2026-03-28 16:31:06Z]] 03:29:27.353 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.354 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 16:30:27Z], 63] 03:29:27.355 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Discover pocket-sized precision for yourself with the Surftest SJ-220 here: https://mitutoyo.eu/product-highlights/sj-220\n\nIn this video, I test Z Anti-Aliasing, a new slicing technique related to non-planar printing that dramatically reduces stair-stepping on FDM prints by making tiny Z-height adjustments — no special hardware required. Using real surface roughness measurements, we’ll see how much smoother prints get, where ZAA works best, and what its current limits are.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nZAA Bambu Studio: https://github.com/adob/BambuStudio-ZAA\nGCode ZAA Post Processor: https://github.com/Theaninova/GCodeZAA\nZ Anti-Aliasing paper: https://arxiv.org/abs/1609.03032\n\nNon-Planar 3D Printing by @TeachingTech : https://youtu.be/cbhWni9f980?si=Zr0_NbXCLpjOaN9W\n3D Print Anything without supports by @joshuayjbird : https://www.youtube.com/watch?v=M51bMMVWbC8\nNozzle Camera by 3DO: https://3do.dk/en/59-3do-camera\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n02:06 Non-planar printing\n03:15 Z Anti-Aliasing\n06:34 Sponsor\n07:29 Measuring the Effects\n09:17 Advantages\n11:59 Why better than Variable Layer Height?\n12:34 Challenges\n15:33 Summary\n\n#3Dprinting #antialiasing #nonplanar\nDISCLAIMER: Part of this video was sponsored by Mitutoyo.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Anti-Aliasing for FDM 3D Printing Is Finally Here (Micro-Non-Planar Printing)", "f33b38c0-a62d-4378-affd-39265eba5a0f", false, 63, [], 994, false, "0Hi9lBjZGIM", "https://www.youtube.com/watch?v=0Hi9lBjZGIM", 8, "/downloads/CNC Kitchen/Season 2026/s2026e020700 - Anti-Aliasing for FDM 3D Printing Is Finally Here (Micro-Non-Planar Printing).mp4", false, false, 98, ~U[2026-02-07 16:30:27Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Discover pocket-sized precision for yourself with the Surftest SJ-220 here: https://mitutoyo.eu/product-highlights/sj-220\n\nIn this video, I test Z Anti-Aliasing, a new slicing technique related to non-planar printing that dramatically reduces stair-stepping on FDM prints by making tiny Z-height adjustments — no special hardware required. Using real surface roughness measurements, we’ll see how much smoother prints get, where ZAA works best, and what its current limits are.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nZAA Bambu Studio: https://github.com/adob/BambuStudio-ZAA\nGCode ZAA Post Processor: https://github.com/Theaninova/GCodeZAA\nZ Anti-Aliasing paper: https://arxiv.org/abs/1609.03032\n\nNon-Planar 3D Printing by @TeachingTech : https://youtu.be/cbhWni9f980?si=Zr0_NbXCLpjOaN9W\n3D Print Anything without supports by @joshuayjbird : https://www.youtube.com/watch?v=M51bMMVWbC8\nNozzle Camera by 3DO: https://3do.dk/en/59-3do-camera\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n02:06 Non-planar printing\n03:15 Z Anti-Aliasing\n06:34 Sponsor\n07:29 Measuring the Effects\n09:17 Advantages\n11:59 Why better than Variable Layer Height?\n12:34 Challenges\n15:33 Summary\n\n#3Dprinting #antialiasing #nonplanar\nDISCLAIMER: Part of this video was sponsored by Mitutoyo.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Anti-Aliasing for FDM 3D Printing Is Finally Here (Micro-Non-Planar Printing)", 63, 994, false, "0Hi9lBjZGIM", "https://www.youtube.com/watch?v=0Hi9lBjZGIM", "/downloads/CNC Kitchen/Season 2026/s2026e020700 - Anti-Aliasing for FDM 3D Printing Is Finally Here (Micro-Non-Planar Printing).mp4", false, ~U[2026-02-07 16:30:27Z]] 03:29:27.355 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.355 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 15:53:25Z], 63] 03:29:27.357 [debug] QUERY OK source="media_items" db=1.0ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Just got a new 3D printer and want to avoid the biggest beginner mistakes? In this video, I’ll show you how to get great results fast, from first setup and calibration to filament basics, slicing, and troubleshooting - all based on more than 10 years of hands-on experience. You’ll learn which materials to start with, how to prepare your first prints, how to spot problems using a 3DBenchy, and where to find good models, so you can focus on printing useful parts instead of fixing avoidable issues. Modern 3D printers are powerful tools, not endless projects and this guide will help you use them that way.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBest Build Plate Adhesive: https://geni.us/NanoAdhesive\nNozzle Brush: https://cnckitchen.store/products/nozzle-brush-made-in-germany\nNozzle Cleaning Wires: https://cnckitchen.store/de/products/nozzle-cleaning-wires-12-pcs\n\n🖨️ 3D Printers (Affiliate Links):\n(Most Bang for your Buck) Bambu Lab A1 Mini: https://geni.us/BBL-A1Mini\n(Bigger Build Volume) Bambu Lab A1: https://geni.us/BBL-A1\n(EU/US Made Open Frame) Prusa MK4S: https://geni.us/Prusa-MK4S\n\n(Enclosed) Bambu Lab P2S: https://geni.us/BBL-P2S\n(Large Enclosed) Bambu Lab P2S: https://geni.us/BBL-P2S\n(EU/US Made Enclosed) Prusa CORE One: https://geni.us/PrusaCOREOne\n(EU/US Made Large Enclosed) Prusa CORE One L: https://geni.us/PrusaCOREOneL\n\n(Dual Nozzle) Bambu Lab H2D: https://geni.us/BBL-H2D\n\n(Affordable Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Nozzle Changer) Bambu Lab H2C: https://geni.us/BBL-H2C\n(Big Toolchanger) Prusa XL: https://geni.us/Prusa-XL\n\n☀️Filament Dyer (Affiliate Links):\n(One Spool) https://geni.us/rsmQ7B\n(Two Spools) https://geni.us/pvYlXY\n(4 Spools) https://geni.us/NpQmn\nSilica Gel Dessicant: https://geni.us/xYR9U\n\n🤖Model Repositories:\nPrintables: https://www.printables.com\nMakerWorld: https://makerworld.com\nThingiverse: https://www.thingiverse.com\nMyMiniFactory: https://www.myminifactory.com\nCults3D: https://cults3d.com\nThangs: https://thangs.com\nGrabCAD: https://grabcad.com\n\n🖨️ Printed Files:\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nGift Puzzle Box: https://www.printables.com/@3DPrintingWorld/store\nChristmas Ornament: https://www.printables.com/model/1482492-christmas-ornament-with-articulated-legs\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Self Promo\n01:21 General\n02:06 Printer Options\n02:44 First Setup\n03:16 Loading Filament\n03:56 First Print\n04:25 Filament Types\n06:53 Removing Prints\n07:16 Bed Maintenance\n07:50 Slicing\n09:36 3D Benchy\n10:26 Model Repositories\n10:53 File Formats\n11:36 Troubleshooting\n13:09 Maintenance\n\n#3Dprinting #DIY #beginners \nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The Beginner 3D Printing Guide I Wish I Had", "75cd4a46-6155-4621-99f9-2dff6fd1b33f", false, 63, [], 888, false, "B84CgaPdixc", "https://www.youtube.com/watch?v=B84CgaPdixc", 9, "/downloads/CNC Kitchen/Season 2025/s2025e122400 - The Beginner 3D Printing Guide I Wish I Had.mp4", false, false, 98, ~U[2025-12-24 15:53:25Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Just got a new 3D printer and want to avoid the biggest beginner mistakes? In this video, I’ll show you how to get great results fast, from first setup and calibration to filament basics, slicing, and troubleshooting - all based on more than 10 years of hands-on experience. You’ll learn which materials to start with, how to prepare your first prints, how to spot problems using a 3DBenchy, and where to find good models, so you can focus on printing useful parts instead of fixing avoidable issues. Modern 3D printers are powerful tools, not endless projects and this guide will help you use them that way.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nBest Build Plate Adhesive: https://geni.us/NanoAdhesive\nNozzle Brush: https://cnckitchen.store/products/nozzle-brush-made-in-germany\nNozzle Cleaning Wires: https://cnckitchen.store/de/products/nozzle-cleaning-wires-12-pcs\n\n🖨️ 3D Printers (Affiliate Links):\n(Most Bang for your Buck) Bambu Lab A1 Mini: https://geni.us/BBL-A1Mini\n(Bigger Build Volume) Bambu Lab A1: https://geni.us/BBL-A1\n(EU/US Made Open Frame) Prusa MK4S: https://geni.us/Prusa-MK4S\n\n(Enclosed) Bambu Lab P2S: https://geni.us/BBL-P2S\n(Large Enclosed) Bambu Lab P2S: https://geni.us/BBL-P2S\n(EU/US Made Enclosed) Prusa CORE One: https://geni.us/PrusaCOREOne\n(EU/US Made Large Enclosed) Prusa CORE One L: https://geni.us/PrusaCOREOneL\n\n(Dual Nozzle) Bambu Lab H2D: https://geni.us/BBL-H2D\n\n(Affordable Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Nozzle Changer) Bambu Lab H2C: https://geni.us/BBL-H2C\n(Big Toolchanger) Prusa XL: https://geni.us/Prusa-XL\n\n☀️Filament Dyer (Affiliate Links):\n(One Spool) https://geni.us/rsmQ7B\n(Two Spools) https://geni.us/pvYlXY\n(4 Spools) https://geni.us/NpQmn\nSilica Gel Dessicant: https://geni.us/xYR9U\n\n🤖Model Repositories:\nPrintables: https://www.printables.com\nMakerWorld: https://makerworld.com\nThingiverse: https://www.thingiverse.com\nMyMiniFactory: https://www.myminifactory.com\nCults3D: https://cults3d.com\nThangs: https://thangs.com\nGrabCAD: https://grabcad.com\n\n🖨️ Printed Files:\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nGift Puzzle Box: https://www.printables.com/@3DPrintingWorld/store\nChristmas Ornament: https://www.printables.com/model/1482492-christmas-ornament-with-articulated-legs\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Self Promo\n01:21 General\n02:06 Printer Options\n02:44 First Setup\n03:16 Loading Filament\n03:56 First Print\n04:25 Filament Types\n06:53 Removing Prints\n07:16 Bed Maintenance\n07:50 Slicing\n09:36 3D Benchy\n10:26 Model Repositories\n10:53 File Formats\n11:36 Troubleshooting\n13:09 Maintenance\n\n#3Dprinting #DIY #beginners \nFTC Disclaimer: A per (truncated) 03:29:27.357 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.358 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-29 16:30:17Z], 63] 03:29:27.359 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to FibreSeek for sponsoring this video. Check out the FibreSeeker 3 on Kickstarter: https://fibreseeker-3.kckb.me/cnckitchen\nThe FibreSeeker 3 brings true continuous-fiber 3D printing to the consumer market by embedding a full 1K carbon tow directly into molten plastic for parts with strength on the level of aluminum. Built on Klipper with a 300×300×245 mm volume, heated chamber, dual hotends, and an open-material co-extrusion system based on Anisoprint technology, it offers far more flexibility and affordability than previous continuous-fiber machines. If you need ultra-strong functional parts, check out the Kickstarter linked below - and decide for yourself whether this is a gamechanger or a gimmick.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🚀 FibreSeeker 3 Kickstarter: https://fibreseeker-3.kckb.me/cnckitchen\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:27 Specs\n01:05 Co-Extrusion Printhead\n01:41 Why Continuous Fibers? \n04:15 Difference to Markforged\n05:00 The Fiber\n07:02 A special Slicer\n09:37 Who needs it?\n\n#3Dprinting #carbonfiber #fibreseeker\nDISCLAIMER: Part of this video was sponsored by FibreSeek.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The FibreSeeker 3 brings Continuous Fiber Printing to Consumers!", "dae6e205-3a89-480a-8a05-1d6a4c564b2a", false, 63, [], 692, false, "dQp7yz6fzH0", "https://www.youtube.com/watch?v=dQp7yz6fzH0", 10, "/downloads/CNC Kitchen/Season 2025/s2025e112900 - The FibreSeeker 3 brings Continuous Fiber Printing to Consumers!.mp4", false, false, 98, ~U[2025-11-29 16:30:17Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Thanks to FibreSeek for sponsoring this video. Check out the FibreSeeker 3 on Kickstarter: https://fibreseeker-3.kckb.me/cnckitchen\nThe FibreSeeker 3 brings true continuous-fiber 3D printing to the consumer market by embedding a full 1K carbon tow directly into molten plastic for parts with strength on the level of aluminum. Built on Klipper with a 300×300×245 mm volume, heated chamber, dual hotends, and an open-material co-extrusion system based on Anisoprint technology, it offers far more flexibility and affordability than previous continuous-fiber machines. If you need ultra-strong functional parts, check out the Kickstarter linked below - and decide for yourself whether this is a gamechanger or a gimmick.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🚀 FibreSeeker 3 Kickstarter: https://fibreseeker-3.kckb.me/cnckitchen\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:27 Specs\n01:05 Co-Extrusion Printhead\n01:41 Why Continuous Fibers? \n04:15 Difference to Markforged\n05:00 The Fiber\n07:02 A special Slicer\n09:37 Who needs it?\n\n#3Dprinting #carbonfiber #fibreseeker\nDISCLAIMER: Part of this video was sponsored by FibreSeek.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The FibreSeeker 3 brings Continuous Fiber Printing to Consumers!", 63, 692, false, "dQp7yz6fzH0", "https://www.youtube.com/watch?v=dQp7yz6fzH0", "/downloads/CNC Kitchen/Season 2025/s2025e112900 - The FibreSeeker 3 brings Continuous Fiber Printing to Consumers!.mp4", false, ~U[2025-11-29 16:30:17Z]] 03:29:27.359 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.360 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-18 14:00:09Z], 63] 03:29:27.361 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://voxelpla.com to check out their affordable and super reliable filaments! Get 10% off every order above $100 with code XMASKITCHEN\n🐼 Get the NEW Bambu Lab H2C: https://geni.us/BBL-H2C (affiliate)\n\nIn this video, I take a deep dive into Bambu Lab’s new H2C 3D printer and its Vortek nozzle-changing system. We look at how the six-nozzle rack works, how fast the induction-heated hotends really are, how much waste the system produces, and how it stacks up against toolchangers like the Prusa XL and Snapmaker U1. I also tear down one of the new induction nozzles to see what’s going on inside and test print times, waste, print quality, and multi-material performance across different machines. If you’re wondering whether the H2C is worth it, how it performs in real multi-color scenarios, or whether its engineering is truly next-gen, this video has the answers.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🐼Products from the Video(Affiliate Links):\nBambu Lab H2C: https://geni.us/BBL-H2C\n\nAlternatives:\n(Affordable Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Big Toolchanger) Prusa XL: https://geni.us/Prusa-XL\n(Dual Nozzle) Bmabu Lab H2D: https://geni.us/BBL-H2D\n(Single Nozzle) Bambu Lab P2S: https://geni.us/BBL-P2S\n\n🖨️ Printed Files:\nMulti-Color Cube: https://www.printables.com/model/1481252-cnc-kitchen-multicolor-test-cube\nMajora's Mask: https://www.printables.com/model/553378-multicolour-majoras-mask\nBench Bin: https://www.printables.com/model/937776-the-benchbin-multi-color-3d-printing-torture-test\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nStormtrooper Helmet: https://makerworld.com/en/models/1870571-stormtrooper-helmet-one-piece#profileId-2002224\nJar Jar Binks: https://www.printables.com/model/1353029-mini-jar-jar\nGordon Freeman: https://www.printables.com/model/944071-mini-gordon-freeman\nHammerhead Shark:\nBambulab Flow Test: https://www.printables.com/model/1344856-max-flow-test-for-bambu-lab-h2dh2s-15-65-mm3-v21\nThe Mask: https://www.printables.com/model/1063548-the-mask\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:50 Overview\n04:30 Sponsor\n05:30 Nozzle Changing\n08:05 Induction Nozzles\n14:46 Nozzle Alignment\n15:49 Purging\n17:00 Toolchanger Comparison\n19:02 Print Quality\n19:57 Who is it for?\n23:03 Conclusion\n\n#3Dprinting #BambuLab #H2C\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The H2C Review: Better Than a Toolchanger?", "cebbbdfe-260a-47f3-801f-c56fd9313c3f", false, 63, [], 1534, false, "MOW6p-oSJxQ", "https://www.youtube.com/watch?v=MOW6p-oSJxQ", 11, "/downloads/CNC Kitchen/Season 2025/s2025e111800 - The H2C Review: Better Than a Toolchanger?.mp4", false, false, 98, ~U[2025-11-18 14:00:09Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Visit https://voxelpla.com to check out their affordable and super reliable filaments! Get 10% off every order above $100 with code XMASKITCHEN\n🐼 Get the NEW Bambu Lab H2C: https://geni.us/BBL-H2C (affiliate)\n\nIn this video, I take a deep dive into Bambu Lab’s new H2C 3D printer and its Vortek nozzle-changing system. We look at how the six-nozzle rack works, how fast the induction-heated hotends really are, how much waste the system produces, and how it stacks up against toolchangers like the Prusa XL and Snapmaker U1. I also tear down one of the new induction nozzles to see what’s going on inside and test print times, waste, print quality, and multi-material performance across different machines. If you’re wondering whether the H2C is worth it, how it performs in real multi-color scenarios, or whether its engineering is truly next-gen, this video has the answers.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🐼Products from the Video(Affiliate Links):\nBambu Lab H2C: https://geni.us/BBL-H2C\n\nAlternatives:\n(Affordable Toolchanger) Snapmaker U1: https://geni.us/SNPMKR-U1\n(Big Toolchanger) Prusa XL: https://geni.us/Prusa-XL\n(Dual Nozzle) Bmabu Lab H2D: https://geni.us/BBL-H2D\n(Single Nozzle) Bambu Lab P2S: https://geni.us/BBL-P2S\n\n🖨️ Printed Files:\nMulti-Color Cube: https://www.printables.com/model/1481252-cnc-kitchen-multicolor-test-cube\nMajora's Mask: https://www.printables.com/model/553378-multicolour-majoras-mask\nBench Bin: https://www.printables.com/model/937776-the-benchbin-multi-color-3d-printing-torture-test\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nStormtrooper Helmet: https://makerworld.com/en/models/1870571-stormtrooper-helmet-one-piece#profileId-2002224\nJar Jar Binks: https://www.printables.com/model/1353029-mini-jar-jar\nGordon Freeman: https://www.printables.com/model/944071-mini-gordon-freeman\nHammerhead Shark:\nBambulab Flow Test: https://www.printables.com/model/1344856-max-flow-test-for-bambu-lab-h2dh2s-15-65-mm3-v21\nThe Mask: https://www.printables.com/model/1063548-the-mask\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:50 Overview\n04:30 Sponsor\n05:30 Nozzle Changing\n08:05 Induction Nozzles\n14:46 Nozzle Alignment\n15:49 Purging\n17:00 Toolchanger Comparison\n19:02 Print Quality\n19:57 Who is it for?\n23:03 Conclusion\n\n#3Dprinting #BambuLab #H2C\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The H2C Review: Better Than a Toolchanger?", 63, 1534, false, "MOW6p-oSJxQ", "https://www.youtube.com/watch?v=MOW6p-oSJxQ", "/downloads/CNC Kitchen/Season 2025/s2025e111800 - The H2C Review: Better Than a Toolchanger?.mp4", false, ~U[2025-11-18 14:00:09Z]] 03:29:27.362 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.362 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 17:25:17Z], 63] 03:29:27.364 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out https://www.pcbway.com for your high-quality 3D prints, PCBs, CNC'd, and sheet metal parts! New customers get $5 off their first order.\nCheck out Prusa NEW CORE One L: https://geni.us/PrusaCOREOneL (affiliate)\n\nThe new Prusa CORE One L is here: not much bigger on the outside, but with twice the print volume! After testing it here in the studio, I’ll show you how it performs, what’s new compared to the smaller CORE One, and whether Prusa managed to fix some of the things that previously annoyed me. We’ll take a deep dive into print quality, noise levels, usability, and features like the new active chamber heating, flexible top vent, improved filament path, and Prusa Connect cloud service.\n\nCORRECTION 09/11/25: The print height is 10 mm more than mentioned in the video. The print volume is 300x300x330 mm.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n💵 Printers (affiliate):\nNEW Prusa CORE One L: https://geni.us/PrusaCOREOneL\nSmaller CORE One: https://geni.us/PrusaCOREOne\n\nAlternatives:\nBig Single Nozzle Bambu H2S: https://geni.us/BB-H2S\nBig Dual Nozzle Bambu H2D: https://geni.us/BBL-H2D\nBig Creality K2 Plus Combo: https://geni.us/K2PlusCombo\n\n🖨️ Printed Files:\nGollum: https://www.printables.com/model/1466319-golum-bust-from-lord-of-the-rings\nRocket Engine: https://www.printables.com/model/1040399-rocket-engine-mk4s\nPug: https://www.printables.com/model/62-josef-prusas-pug-buddy\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nWater dragon: https://www.printables.com/model/1408858-prusa-water-dragon\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:24 Unboxing & Setup\n03:12 Looks\n04:22 Sponsor\n05:20 Specs\n07:25 Print Quality\n11:41 Nozzle Cleaning Rant\n13:12 Automatic Grill\n14:38 Flexible Filament Switch\n15:13 Noise\n16:18 Air Filtration\n17:25 Prusa Connect\n18:17 EasyPrint\n18:35 OpenPrintTag\n19:32 Verdict\n\n#3Dprinting #prusa #coreonel \nDISCLAIMER: Part of this video was sponsored by PCBWay.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "What Prusa Got Right (and Wrong) with the New CORE One L", "b4355d7e-c92d-43ba-a2d9-0587cce65fb0", false, 63, [], 1338, false, "zR0F1lTVtSI", "https://www.youtube.com/watch?v=zR0F1lTVtSI", 12, "/downloads/CNC Kitchen/Season 2025/s2025e110800 - What Prusa Got Right (and Wrong) with the New CORE One L.mp4", false, false, 98, ~U[2025-11-08 17:25:17Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Check out https://www.pcbway.com for your high-quality 3D prints, PCBs, CNC'd, and sheet metal parts! New customers get $5 off their first order.\nCheck out Prusa NEW CORE One L: https://geni.us/PrusaCOREOneL (affiliate)\n\nThe new Prusa CORE One L is here: not much bigger on the outside, but with twice the print volume! After testing it here in the studio, I’ll show you how it performs, what’s new compared to the smaller CORE One, and whether Prusa managed to fix some of the things that previously annoyed me. We’ll take a deep dive into print quality, noise levels, usability, and features like the new active chamber heating, flexible top vent, improved filament path, and Prusa Connect cloud service.\n\nCORRECTION 09/11/25: The print height is 10 mm more than mentioned in the video. The print volume is 300x300x330 mm.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n💵 Printers (affiliate):\nNEW Prusa CORE One L: https://geni.us/PrusaCOREOneL\nSmaller CORE One: https://geni.us/PrusaCOREOne\n\nAlternatives:\nBig Single Nozzle Bambu H2S: https://geni.us/BB-H2S\nBig Dual Nozzle Bambu H2D: https://geni.us/BBL-H2D\nBig Creality K2 Plus Combo: https://geni.us/K2PlusCombo\n\n🖨️ Printed Files:\nGollum: https://www.printables.com/model/1466319-golum-bust-from-lord-of-the-rings\nRocket Engine: https://www.printables.com/model/1040399-rocket-engine-mk4s\nPug: https://www.printables.com/model/62-josef-prusas-pug-buddy\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nWater dragon: https://www.printables.com/model/1408858-prusa-water-dragon\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:24 Unboxing & Setup\n03:12 Looks\n04:22 Sponsor\n05:20 Specs\n07:25 Print Quality\n11:41 Nozzle Cleaning Rant\n13:12 Automatic Grill\n14:38 Flexible Filament Switch\n15:13 Noise\n16:18 Air Filtration\n17:25 Prusa Connect\n18:17 EasyPrint\n18:35 OpenPrintTag\n19:32 Verdict\n\n#3Dprinting #prusa #coreonel \nDISCLAIMER: Part of this video was sponsored by PCBWay.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "What Prusa Got Right (and Wrong) with the New CORE One L", 63, 1338, false, "zR0F1lTVtSI", "https://www.youtube.com/watch?v=zR0F1lTVtSI", "/downloads/CNC Kitchen/Season 2025/s2025e110800 - What Prusa Got Right (and Wrong) with the New CORE One L.mp4", false, ~U[2025-11-08 17:25:17Z]] 03:29:27.364 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.365 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 14:00:49Z], 63] 03:29:27.366 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Prusa NEW CORE One L: https://geni.us/PrusaCOREOneL (affiliate)\n\nI just got back from Prusa Day 2025 in Prague, where Prusa revealed some really exciting new things - including an open-source RFID tag for filaments, a wooden “Signature Oak” printer, the new CORE One L, PrusaSlicer 3.0, and even a system for printing silicone with Liquid Filament!\nIn this video, I’ll take you through the highlights, share my impressions, and show what’s coming next for Prusa and the 3D printing community.\n\nNew PRUSA Products (affiliate):\nOpen Print Tag: https://geni.us/OpenPrintTag\nCORE One L: https://geni.us/PrusaCOREOneL\nPrusa XL Silicone Printhead: https://geni.us/XLSiliconeHead\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:16 Open Print Tag\n02:33 Signature Oak\n02:54 Core One L\n05:01 Prusa Slicer 3.0\n05:26 Silicon Printing\n\n#3Dprinting #prusa #coreonel\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "CORE One L, RFID & Silicone: FIVE Big Reveals from Prusa Day 2025!", "12700670-48a4-4212-8b40-2369ee71dbce", false, 63, [], 396, false, "dXPF_QrMdxU", "https://www.youtube.com/watch?v=dXPF_QrMdxU", 13, "/downloads/CNC Kitchen/Season 2025/s2025e103100 - CORE One L, RFID & Silicone: FIVE Big Reveals from Prusa Day 2025!.mp4", false, false, 98, ~U[2025-10-31 14:00:49Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Check out Prusa NEW CORE One L: https://geni.us/PrusaCOREOneL (affiliate)\n\nI just got back from Prusa Day 2025 in Prague, where Prusa revealed some really exciting new things - including an open-source RFID tag for filaments, a wooden “Signature Oak” printer, the new CORE One L, PrusaSlicer 3.0, and even a system for printing silicone with Liquid Filament!\nIn this video, I’ll take you through the highlights, share my impressions, and show what’s coming next for Prusa and the 3D printing community.\n\nNew PRUSA Products (affiliate):\nOpen Print Tag: https://geni.us/OpenPrintTag\nCORE One L: https://geni.us/PrusaCOREOneL\nPrusa XL Silicone Printhead: https://geni.us/XLSiliconeHead\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:16 Open Print Tag\n02:33 Signature Oak\n02:54 Core One L\n05:01 Prusa Slicer 3.0\n05:26 Silicon Printing\n\n#3Dprinting #prusa #coreonel\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "CORE One L, RFID & Silicone: FIVE Big Reveals from Prusa Day 2025!", 63, 396, false, "dXPF_QrMdxU", "https://www.youtube.com/watch?v=dXPF_QrMdxU", "/downloads/CNC Kitchen/Season 2025/s2025e103100 - CORE One L, RFID & Silicone: FIVE Big Reveals from Prusa Day 2025!.mp4", false, ~U[2025-10-31 14:00:49Z]] 03:29:27.366 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.367 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-26 16:50:45Z], 63] 03:29:27.368 [debug] QUERY OK source="media_items" db=0.9ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you KiwiCo for sponsoring today’s video. Go to https://www.kiwico.com/cnc and use code CNC to get 50% off your first monthly KiwiCo Crate or 20% off your first Panda Crate!\n\nChoosing the right print orientation can make or break your 3D prints - literally! In this video, I test how part orientation affects strength, surface quality, and printability using real tensile samples and practical examples like a vacuum hose adapter. You’ll learn why angled printing can improve strength, when it doesn’t, and how to find the best compromise between supports, quality, and durability.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🖨️ Printed Files:\nVacuum Hose Adapter: https://www.printables.com/model/22485-makita-belt-sander-adapter\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nMt Fuji: https://makerworld.com/de/models/1119746-mt-fuji#profileId-1117882\nGrand Canyon: https://makerworld.com/de/models/828900-grand-canyon-south-rim-relief-south-kaibab-trail#profileId-772975\nMultiboard Demo Pack: https://thangs.com/designer/Multiboard/3d-model/Multiboard%20Demo%20Pack%20%28FREE%29-1369296\n\nSlant3D Video: https://www.youtube.com/watch?v=8NKVNwVaZU0\nAzureFilm PLA: https://azurefilm.com/3d-filaments/pla-filaments/\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:23 Simple Bracket\n01:50 Layer Adhesion Problem\n03:04 Sponsor\n05:22 Simple Bracket 2\n06:32 Corner Bracket\n06:57 Tilted Prints\n08:46 Printing Tilted Parts\n10:26 Surface Quality\n11:40 Shrink Lines\n12:53 Hose Adapter\n14:44 No Magic Bullet\n16:09 Verdict\n\n#3Dprinting\nDISCLAIMER: Part of this video was sponsored by KiwiCo.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Stop Printing Flat: The 45° Secret for Stronger Parts", "f258380d-69f7-4273-b430-df7e476d0eba", false, 63, [], 1025, false, "7aJ4dDyyf20", "https://www.youtube.com/watch?v=7aJ4dDyyf20", 14, "/downloads/CNC Kitchen/Season 2025/s2025e102600 - Stop Printing Flat: The 45° Secret for Stronger Parts.mp4", false, false, 98, ~U[2025-10-26 16:50:45Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Thank you KiwiCo for sponsoring today’s video. Go to https://www.kiwico.com/cnc and use code CNC to get 50% off your first monthly KiwiCo Crate or 20% off your first Panda Crate!\n\nChoosing the right print orientation can make or break your 3D prints - literally! In this video, I test how part orientation affects strength, surface quality, and printability using real tensile samples and practical examples like a vacuum hose adapter. You’ll learn why angled printing can improve strength, when it doesn’t, and how to find the best compromise between supports, quality, and durability.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🖨️ Printed Files:\nVacuum Hose Adapter: https://www.printables.com/model/22485-makita-belt-sander-adapter\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nMt Fuji: https://makerworld.com/de/models/1119746-mt-fuji#profileId-1117882\nGrand Canyon: https://makerworld.com/de/models/828900-grand-canyon-south-rim-relief-south-kaibab-trail#profileId-772975\nMultiboard Demo Pack: https://thangs.com/designer/Multiboard/3d-model/Multiboard%20Demo%20Pack%20%28FREE%29-1369296\n\nSlant3D Video: https://www.youtube.com/watch?v=8NKVNwVaZU0\nAzureFilm PLA: https://azurefilm.com/3d-filaments/pla-filaments/\n\n💚 Support me 🙏\nBuy a Bambu Lab printer 🐼: https://geni.us/BBL-CNCKitchen\nBuy a Prusa printer🦙: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:23 Simple Bracket\n01:50 Layer Adhesion Problem\n03:04 Sponsor\n05:22 Simple Bracket 2\n06:32 Corner Bracket\n06:57 Tilted Prints\n08:46 Printing Tilted Parts\n10:26 Surface Quality\n11:40 Shrink Lines\n12:53 Hose Adapter\n14:44 No Magic Bullet\n16:09 Verdict\n\n#3Dprinting\nDISCLAIMER: Part of this video was sponsored by KiwiCo.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Stop Printing Flat: The 45° Secret for Stronger Parts", 63, 1025, false, "7aJ4dDyyf20", "https://www.youtube.com/watch?v=7aJ4dDyyf20", "/downloads/CNC Kitchen/Season 2025/s2025e102600 - Stop Printing Flat: The 45° Secret for Stronger Parts.mp4", false, ~U[2025-10-26 16:50:45Z]] 03:29:27.368 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.369 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-14 13:00:02Z], 63] 03:29:27.371 [debug] QUERY OK source="media_items" db=1.0ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://voxelpla.com to check out their NEW Galaxy Colors. The first 200 customers get 10% off every order above $100 with code GALAXYKITCHEN\n🐼 Get the NEW Bambu Lab P2S: https://geni.us/BBL-P2S (affiliate)\n\nThe Bambu Lab P2S is the long-awaited refresh of the popular P1S, bringing many smart refinements. Instead of reinventing the wheel, Bambu focused on polish and usability: quick-swap nozzles, a redesigned cooling system, improved lighting, an HD camera, and plenty of thoughtful upgrades that make everyday printing smoother. But is it really better than the P1S, and why does it make the X1 Carbon obsolete? In this video, I put the P2S through its paces, test print quality and performance, and explain who should (and shouldn’t) upgrade.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🧻Products from the Video(Affiliate Links):\nBambu Lab P2S: https://geni.us/BBL-P2S\n\nAlternatives:\n(Bigger) Bambu Lab H2Single: https://geni.us/BB-H2S\n(EU/US Made) Prusa CORE One: https://geni.us/PrusaCOREOne\n(Heated Chamber/350°C Hotend) QIDI Q2: https://geni.us/QIDI-Q2\n(Cheap) Elegoo Centauri Carbon: https://elegoo.sjv.io/zxbBWM\n\n🖨️ Printed Files:\nMulticolor Catan Set: https://www.thingiverse.com/thing:2525047\nArtFlex Flexi Zombie Carrot: https://makerworld.com/de/models/46603-artflex-flexi-zombie-carrot-key-chain?from=search#profileId-48409\nFlexi Broccolis: https://makerworld.com/de/models/143834-flexi-broccolis-print-in-place#profileId-156344\nDavid Bust: https://www.printables.com/model/805566-david-fixed-and-sliced-for-best-print-orientation\nDarth Vader Bust: https://www.printables.com/model/36697-darth-vader-bust-stl\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nMini Stefan: https://www.printables.com/model/86888-mini-stefan-by-wekster\nGridfinity: https://gridfinity.xyz/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Overview\n02:31 Sponsor\n03:45 Outside Changes\n05:09 Inside Changes\n08:42 Print Quality\n10:08 Problems\n12:22 The Good Stuff\n13:08 The X1 is obsolete\n13:50 Eco System\n\n#3Dprinting #BambuLab #P2S\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The P2S Is the Upgrade No One Expected – But Everyone Wanted!", "04fe5f8a-9dad-4e41-a046-f8edb47ce21c", false, 63, [], 1000, false, "a1p7p1ATP9Q", "https://www.youtube.com/watch?v=a1p7p1ATP9Q", 15, "/downloads/CNC Kitchen/Season 2025/s2025e101400 - The P2S Is the Upgrade No One Expected – But Everyone Wanted!.mp4", false, false, 98, ~U[2025-10-14 13:00:02Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Visit https://voxelpla.com to check out their NEW Galaxy Colors. The first 200 customers get 10% off every order above $100 with code GALAXYKITCHEN\n🐼 Get the NEW Bambu Lab P2S: https://geni.us/BBL-P2S (affiliate)\n\nThe Bambu Lab P2S is the long-awaited refresh of the popular P1S, bringing many smart refinements. Instead of reinventing the wheel, Bambu focused on polish and usability: quick-swap nozzles, a redesigned cooling system, improved lighting, an HD camera, and plenty of thoughtful upgrades that make everyday printing smoother. But is it really better than the P1S, and why does it make the X1 Carbon obsolete? In this video, I put the P2S through its paces, test print quality and performance, and explain who should (and shouldn’t) upgrade.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🧻Products from the Video(Affiliate Links):\nBambu Lab P2S: https://geni.us/BBL-P2S\n\nAlternatives:\n(Bigger) Bambu Lab H2Single: https://geni.us/BB-H2S\n(EU/US Made) Prusa CORE One: https://geni.us/PrusaCOREOne\n(Heated Chamber/350°C Hotend) QIDI Q2: https://geni.us/QIDI-Q2\n(Cheap) Elegoo Centauri Carbon: https://elegoo.sjv.io/zxbBWM\n\n🖨️ Printed Files:\nMulticolor Catan Set: https://www.thingiverse.com/thing:2525047\nArtFlex Flexi Zombie Carrot: https://makerworld.com/de/models/46603-artflex-flexi-zombie-carrot-key-chain?from=search#profileId-48409\nFlexi Broccolis: https://makerworld.com/de/models/143834-flexi-broccolis-print-in-place#profileId-156344\nDavid Bust: https://www.printables.com/model/805566-david-fixed-and-sliced-for-best-print-orientation\nDarth Vader Bust: https://www.printables.com/model/36697-darth-vader-bust-stl\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nMini Stefan: https://www.printables.com/model/86888-mini-stefan-by-wekster\nGridfinity: https://gridfinity.xyz/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:00 Overview\n02:31 Sponsor\n03:45 Outside Changes\n05:09 Inside Changes\n08:42 Print Quality\n10:08 Problems\n12:22 The Good Stuff\n13:08 The X1 is obsolete\n13:50 Eco System\n\n#3Dprinting #BambuLab #P2S\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "The P2S Is the Upgrade No One Expected – But Everyone Wanted!", 63, 1000, false, "a1p7p1ATP9Q", "https://www.youtube.com/watch?v=a1p7p1ATP9Q", "/downloads/CNC Kitchen/Season 2025/s2025e101400 - The P2S Is the Upgrade No One Expected – But Everyone Wanted!.mp4", false, ~U[2025-10-14 13:00:02Z]] 03:29:27.371 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.372 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 15:31:55Z], 63] 03:29:27.401 [debug] QUERY OK source="media_items" db=28.5ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nTired of messy drawers and complicated CAD? I found a free AI tool that automatically generates custom Gridfinity bins from just a photo - no design skills needed! In this video I’ll show you how it works, test it on my own “drawer of shame,” and share tips for making the perfect custom tool storage.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nTry out the AI Gridfinity Generator: https://www.tooltrace.ai\n\nGridfinity Specification: https://gridfinity.xyz/specification/\nBaseplate & Bin Generator (STL): https://gridfinity.perplexinglabs.com/pr/gridfinity-rebuilt/0/0\nGridfinity Generator (also STEP): https://gridfinitygenerator.com/\nEngineers get Onshape Professional free up to 6 months: https://onshape.pro/CNCKitchen\n\nThanks to Mitutoyo for the support over the years!\nhttps://www.mitutoyo.com\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:48 Custom Bins\n01:36 Drawer of Shame\n02:22 What is Gridfinity?\n02:45 Bins\n03:38 Sponsor\n05:11 ToolTrace.AI\n07:33 Two Colors\n10:28 Slicer Customization\n11:21 Installing It (The Best Part!)\n12:06 Feature Requests\n\n#3Dprinting #gridfinity #AI\nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "This FREE AI Tool Auto-Generates Gridfinity Bins!", "d7cdbe36-f965-4f92-93d6-d55c3e20cee9", false, 63, [], 815, false, "e3EhJJlWwws", "https://www.youtube.com/watch?v=e3EhJJlWwws", 16, "/downloads/CNC Kitchen/Season 2025/s2025e083000 - This FREE AI Tool Auto-Generates Gridfinity Bins!.mp4", false, false, 98, ~U[2025-08-30 15:31:55Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nTired of messy drawers and complicated CAD? I found a free AI tool that automatically generates custom Gridfinity bins from just a photo - no design skills needed! In this video I’ll show you how it works, test it on my own “drawer of shame,” and share tips for making the perfect custom tool storage.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nTry out the AI Gridfinity Generator: https://www.tooltrace.ai\n\nGridfinity Specification: https://gridfinity.xyz/specification/\nBaseplate & Bin Generator (STL): https://gridfinity.perplexinglabs.com/pr/gridfinity-rebuilt/0/0\nGridfinity Generator (also STEP): https://gridfinitygenerator.com/\nEngineers get Onshape Professional free up to 6 months: https://onshape.pro/CNCKitchen\n\nThanks to Mitutoyo for the support over the years!\nhttps://www.mitutoyo.com\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:48 Custom Bins\n01:36 Drawer of Shame\n02:22 What is Gridfinity?\n02:45 Bins\n03:38 Sponsor\n05:11 ToolTrace.AI\n07:33 Two Colors\n10:28 Slicer Customization\n11:21 Installing It (The Best Part!)\n12:06 Feature Requests\n\n#3Dprinting #gridfinity #AI\nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "This FREE AI Tool Auto-Generates Gridfinity Bins!", 63, 815, false, "e3EhJJlWwws", "https://www.youtube.com/watch?v=e3EhJJlWwws", "/downloads/CNC Kitchen/Season 2025/s2025e083000 - This FREE AI Tool Auto-Generates Gridfinity Bins!.mp4", false, ~U[2025-08-30 15:31:55Z]] 03:29:27.401 [debug] QUERY OK source="sources" db=0.2ms idle=31.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.402 [debug] QUERY OK source="media_items" db=0.6ms idle=30.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-26 13:00:01Z], 63] 03:29:27.409 [debug] QUERY OK source="media_items" db=7.0ms idle=31.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://voxelpla.com to grab the new Galaxy Colors! Use code GALAXYKITCHEN for 10% off orders over $100 — only for the first 200 customers!\n🐼 Get the NEW Bambu Lab H2S: https://geni.us/BB-H2S (affiliate)\n\nBambu Lab just released the H2S – their new large-format 3D printer. It looks almost identical to the H2D but drops the dual-nozzle system, making it $800 cheaper while even offering a bit more build volume. In this review, I’ll compare it to the H2D and show you if the H2S is the big Bambu printer you’ve been waiting for.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🧻Products from the Video(Affiliate Links):\nBambu Lab H2Single: https://geni.us/BB-H2S\nBambu Lab H2Dual: https://geni.us/BBL-H2D\nCreality K2 Plus Combo: https://geni.us/K2PlusCombo\n\n🖨️ Printed Files:\nHalo Master Chief Helmet: https://www.printables.com/model/631970-master-chief-mjolnir-helmet-carterbuilder12\nEarthworm Jim: https://www.printables.com/model/1327712-earthworm-jim\n3D Maker Noob Tolerance Test: https://www.printables.com/model/116911-clearance-tolerance-test\nArticulated Panda: https://makerworld.com/en/models/1253219-panda-by-bambu\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nMini Stefan: https://www.printables.com/model/86888-mini-stefan-by-wekster\nGridfinity: https://gridfinity.xyz/\n\n📹Related Videos:\nH2D Review: https://youtu.be/dYJNZ4euuFk\nThe best videos about the accessories by @mpoxDE (German, but worth watching with the Auto-Dub):\nLaser Module: https://www.youtube.com/watch?v=XBSzsZEzviQ\nPlotter Module: https://www.youtube.com/watch?v=TpN1q-vJ7XU\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:56 Q&A\n03:25 Detailed Changes\n07:43 I love the sound!\n08:25 Sponsor\n09:45 Print Quality\n12:21 Reliability\n13:00 What I don't like\n15:05 What is the H2S?\n15:46 The Bambu Lab problem\n18:12 H2D or H2S?\n\n#3Dprinting #BambuLab #H2S\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Bambu Lab H2S – The XL Printer Everyone Asked For", "16a39c19-e135-4af2-b617-2643d42d7fe1", false, 63, [], 1213, false, "_Rz2bLijW8o", "https://www.youtube.com/watch?v=_Rz2bLijW8o", 17, "/downloads/CNC Kitchen/Season 2025/s2025e082600 - Bambu Lab H2S – The XL Printer Everyone Asked For.mp4", false, false, 98, ~U[2025-08-26 13:00:01Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Go to https://voxelpla.com to grab the new Galaxy Colors! Use code GALAXYKITCHEN for 10% off orders over $100 — only for the first 200 customers!\n🐼 Get the NEW Bambu Lab H2S: https://geni.us/BB-H2S (affiliate)\n\nBambu Lab just released the H2S – their new large-format 3D printer. It looks almost identical to the H2D but drops the dual-nozzle system, making it $800 cheaper while even offering a bit more build volume. In this review, I’ll compare it to the H2D and show you if the H2S is the big Bambu printer you’ve been waiting for.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🧻Products from the Video(Affiliate Links):\nBambu Lab H2Single: https://geni.us/BB-H2S\nBambu Lab H2Dual: https://geni.us/BBL-H2D\nCreality K2 Plus Combo: https://geni.us/K2PlusCombo\n\n🖨️ Printed Files:\nHalo Master Chief Helmet: https://www.printables.com/model/631970-master-chief-mjolnir-helmet-carterbuilder12\nEarthworm Jim: https://www.printables.com/model/1327712-earthworm-jim\n3D Maker Noob Tolerance Test: https://www.printables.com/model/116911-clearance-tolerance-test\nArticulated Panda: https://makerworld.com/en/models/1253219-panda-by-bambu\n3D Benchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nTorture Toaster: https://www.printables.com/model/60985-the-torture-toaster\nMini Stefan: https://www.printables.com/model/86888-mini-stefan-by-wekster\nGridfinity: https://gridfinity.xyz/\n\n📹Related Videos:\nH2D Review: https://youtu.be/dYJNZ4euuFk\nThe best videos about the accessories by @mpoxDE (German, but worth watching with the Auto-Dub):\nLaser Module: https://www.youtube.com/watch?v=XBSzsZEzviQ\nPlotter Module: https://www.youtube.com/watch?v=TpN1q-vJ7XU\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:56 Q&A\n03:25 Detailed Changes\n07:43 I love the sound!\n08:25 Sponsor\n09:45 Print Quality\n12:21 Reliability\n13:00 What I don't like\n15:05 What is the H2S?\n15:46 The Bambu Lab problem\n18:12 H2D or H2S?\n\n#3Dprinting #BambuLab #H2S\nDISCLAIMER: Part of this video was sponsored by VOXELPLA.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Bambu Lab H2S – The XL Printer Everyone Asked For", 63, 1213, false, "_Rz2bLijW8o", "https://www.youtube.com/watch?v=_Rz2bLijW8o", "/downloads/CNC Kitchen/Season 2025/s2025e082600 - Bambu Lab H2S – The XL Printer Everyone Asked For.mp4", false, ~U[2025-08-26 13:00:01Z]] 03:29:27.410 [debug] QUERY OK source="sources" db=0.2ms idle=37.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.411 [debug] QUERY OK source="media_items" db=0.6ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-16 15:35:28Z], 63] 03:29:27.412 [debug] QUERY OK source="media_items" db=1.0ms idle=9.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to SUNLU for sponsoring this video! Check out the E2 Professional Drying and Annealing Solution: https://geni.us/E2Dryer\n\nCarbon fiber Nylon is strong, tough, and heat resistant—but it also has hidden weaknesses that can cause your 3D prints to fail. In this video, I test PA6 and PA12 Carbon Fiber filaments to show how moisture, creep, and annealing affect their real performance. Learn when to use each material, how to avoid common mistakes, and how to get the most out of your Nylon 3D prints!\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🛒 SUNLU Store: \nSUNLU FilaDry E2: https://bit.ly/47w2mzZ\nSUNLU PA6-CF: https://bit.ly/4lvCec0\nSUNLU PA12-CF: https://bit.ly/45M2uZY\n🛒AMAZON (affiliate): \nSUNLU FilaDry E2: https://geni.us/SunluE2\nSUNLU PA6-CF: https://geni.us/SUNLU_PA6-CF\nSUNLU PA12-CF: https://geni.us/SUNLU_PA12-CF\n\n10% Off Nano Polymer Adhesive with code CNCKITCHEN: https://geni.us/NanoPolymerAdhesive\nWERA Torque Screwdriver: https://geni.us/RfW2ne\n\nWebsite Article: www.cnckitchen.com/blog/carbon-fiber-nylon-in-3d-printing-pa6-vs-pa12-tested\n\n🖨️ Printed Parts:\n3DBenchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nDrone Frame: https://www.printables.com/model/1318127-3-inch-drone-frame\nCoolant Outlet Flange: https://www.printables.com/model/1281425-m50m52-cylinder-head-coolant-outlet-flange\nMountain Bike Pedal: https://www.printables.com/model/397469-mountain-bike-pedal\nSD Rugged Box: https://makerworld.com/en/models/13376-rugged-box-no-screws-for-sd-and-micro-sd-cards?from=search#profileId-25507\n3-Point Bending Test: https://www.printables.com/model/453526-3-point-bending-test\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:34 Sponsor\n03:17 What is Nylon?\n04:32 What is Creep?\n05:13 Creep Test\n06:29 Annealing Nylon\n07:27 Printing Nylon\n09:20 Stiffness Test 1\n10:42 The Moisture Problem\n12:19 Stiffness Test 2\n13:06 Strength Test\n14:52 Impact Test\n15:33 Creep Test Results\n17:59 Temperature Test\n19:01 Summary\n\n#3Dprinting #nylon #sunlu\nDISCLAIMER: Part of this video was sponsored by SUNLU.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon", "c09a036b-1391-4f8a-932b-7a4584db02f8", false, 63, [], 1315, false, "u8dIpwd6tzo", "https://www.youtube.com/watch?v=u8dIpwd6tzo", 18, "/downloads/CNC Kitchen/Season 2025/s2025e081600 - Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon.mp4", false, false, 98, ~U[2025-08-16 15:35:28Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "Thanks to SUNLU for sponsoring this video! Check out the E2 Professional Drying and Annealing Solution: https://geni.us/E2Dryer\n\nCarbon fiber Nylon is strong, tough, and heat resistant—but it also has hidden weaknesses that can cause your 3D prints to fail. In this video, I test PA6 and PA12 Carbon Fiber filaments to show how moisture, creep, and annealing affect their real performance. Learn when to use each material, how to avoid common mistakes, and how to get the most out of your Nylon 3D prints!\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\n🛒 SUNLU Store: \nSUNLU FilaDry E2: https://bit.ly/47w2mzZ\nSUNLU PA6-CF: https://bit.ly/4lvCec0\nSUNLU PA12-CF: https://bit.ly/45M2uZY\n🛒AMAZON (affiliate): \nSUNLU FilaDry E2: https://geni.us/SunluE2\nSUNLU PA6-CF: https://geni.us/SUNLU_PA6-CF\nSUNLU PA12-CF: https://geni.us/SUNLU_PA12-CF\n\n10% Off Nano Polymer Adhesive with code CNCKITCHEN: https://geni.us/NanoPolymerAdhesive\nWERA Torque Screwdriver: https://geni.us/RfW2ne\n\nWebsite Article: www.cnckitchen.com/blog/carbon-fiber-nylon-in-3d-printing-pa6-vs-pa12-tested\n\n🖨️ Printed Parts:\n3DBenchy: https://www.printables.com/model/2236-3dbenchy-the-jolly-3d-printing-torture-test-by-cre\nDrone Frame: https://www.printables.com/model/1318127-3-inch-drone-frame\nCoolant Outlet Flange: https://www.printables.com/model/1281425-m50m52-cylinder-head-coolant-outlet-flange\nMountain Bike Pedal: https://www.printables.com/model/397469-mountain-bike-pedal\nSD Rugged Box: https://makerworld.com/en/models/13376-rugged-box-no-screws-for-sd-and-micro-sd-cards?from=search#profileId-25507\n3-Point Bending Test: https://www.printables.com/model/453526-3-point-bending-test\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:34 Sponsor\n03:17 What is Nylon?\n04:32 What is Creep?\n05:13 Creep Test\n06:29 Annealing Nylon\n07:27 Printing Nylon\n09:20 Stiffness Test 1\n10:42 The Moisture Problem\n12:19 Stiffness Test 2\n13:06 Strength Test\n14:52 Impact Test\n15:33 Creep Test Results\n17:59 Temperature Test\n19:01 Summary\n\n#3Dprinting #nylon #sunlu\nDISCLAIMER: Part of this video was sponsored by SUNLU.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon", 63, 1315, false, "u8dIpwd6tzo", "https://www.youtube.com/watch?v=u8dIpwd6tzo", "/downloads/CNC Kitchen/Season 2025/s2025e081600 - Everyone gets this Wrong when 3D Printing Carbon Fiber Nylon.mp4", false, ~U[2025-08-16 15:35:28Z]] 03:29:27.412 [debug] QUERY OK source="sources" db=0.1ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.413 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 15:22:41Z], 63] 03:29:27.414 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nWhat happens when you mix cow poop into 3D printing filament? In this video, I experiment with different amounts of cow dung in PLA to see if it prints, how strong it is, and, how it smells! Follow along as I turn farm waste into surprising 3D prints and share the weird, funny, and fascinating results.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nCome to OpenSauce: https://opensauce.com/\nARTME3D Filament Maker: https://artme-3d.shop/\nPoop STL by Fyrby Additive: https://www.printables.com/model/633463-poop\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:39 Sponsor\n02:11 Idea\n03:13 OpenSauce\n03:37 Gather \"Material\"\n07:06 First Extrusion\n11:16 First Print\n12:35 Finding the Problem\n13:51 Pelletizing Filament\n14:39 Re-Extrusion\n16:03 Trying PLA Powder\n18:56 Adding More Poop\n21:41 Preparing Strength Tests\n21:33 Nozzle Wear\n21:54 Strength Tests\n22:33 Summary\n\n#3Dprinting #filament #poop \nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Cow Poop Filament is NOT as BAD as you Think!", "51757626-2b8d-47be-a30d-235062913067", false, 63, [], 1485, false, "GmUPN2Nww6Q", "https://www.youtube.com/watch?v=GmUPN2Nww6Q", 19, "/downloads/CNC Kitchen/Season 2025/s2025e071200 - Cow Poop Filament is NOT as BAD as you Think!.mp4", false, false, 98, ~U[2025-07-12 15:22:41Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nWhat happens when you mix cow poop into 3D printing filament? In this video, I experiment with different amounts of cow dung in PLA to see if it prints, how strong it is, and, how it smells! Follow along as I turn farm waste into surprising 3D prints and share the weird, funny, and fascinating results.\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nCome to OpenSauce: https://opensauce.com/\nARTME3D Filament Maker: https://artme-3d.shop/\nPoop STL by Fyrby Additive: https://www.printables.com/model/633463-poop\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n00:39 Sponsor\n02:11 Idea\n03:13 OpenSauce\n03:37 Gather \"Material\"\n07:06 First Extrusion\n11:16 First Print\n12:35 Finding the Problem\n13:51 Pelletizing Filament\n14:39 Re-Extrusion\n16:03 Trying PLA Powder\n18:56 Adding More Poop\n21:41 Preparing Strength Tests\n21:33 Nozzle Wear\n21:54 Strength Tests\n22:33 Summary\n\n#3Dprinting #filament #poop \nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "Cow Poop Filament is NOT as BAD as you Think!", 63, 1485, false, "GmUPN2Nww6Q", "https://www.youtube.com/watch?v=GmUPN2Nww6Q", "/downloads/CNC Kitchen/Season 2025/s2025e071200 - Cow Poop Filament is NOT as BAD as you Think!.mp4", false, ~U[2025-07-12 15:22:41Z]] 03:29:27.414 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.415 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-24 15:00:30Z], 63] 03:29:27.416 [debug] QUERY OK source="media_items" db=1.1ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nIn this video, I try to recreate custom 3D printer build plates like the ones from Ember Prototypes using EufyMake’s new E1 UV printer. I’ll show you what worked, what failed, and how I eventually got crisp, embossed logos on my prints. Plus, we’ll explore whether this could be a cool DIY option for your own printer setup!\n\nEufyMake E1 (affiliate): https://eufymake.sjv.io/BnaGz1\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nEmber Prototypes: https://www.emberprototypes.com/products/custom-textured-pei\nAliexpress Print Sheets (affiliate): https://geni.us/AliexpressBambuSheets\nFinger Bot (affiliate): https://geni.us/fingerbot\nFirst Layer Renderer: https://cnckitchen.github.io/FirstLayerRenderer/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:31 Sourcing Materials\n02:26 Setting up the first print\n04:24 Building a room-scale fume hood\n06:18 Sponsor\n08:11 Printing PETG\n10:17 Printing Thicker\n13:59 Finger Bot\n14:42 Torture Testing\n15:28 Mirrored or Not-Mirrored\n16:00 Anamorphic Print Sheets\n17:32 More Tests\n19:26 Not a Review\n21:07 Your Thoughts?\n\n#3Dprinting #DIY #eufymake\nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "This Plate Embosses Your Logo Into Every 3D Print", "5a0d56f7-00ee-42fe-8182-3aec5a595ebd", false, 63, [], 1316, false, "hgOzJW-heT8", "https://www.youtube.com/watch?v=hgOzJW-heT8", 20, "/downloads/CNC Kitchen/Season 2025/s2025e062400 - This Plate Embosses Your Logo Into Every 3D Print.mp4", false, false, 98, ~U[2025-06-24 15:00:30Z], ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], "🚀Head to http://squarespace.com/CNCKITCHEN to save 10% off your first purchase of a website or domain using code CNCKITCHEN.\n\nIn this video, I try to recreate custom 3D printer build plates like the ones from Ember Prototypes using EufyMake’s new E1 UV printer. I’ll show you what worked, what failed, and how I eventually got crisp, embossed logos on my prints. Plus, we’ll explore whether this could be a cool DIY option for your own printer setup!\n\nEufyMake E1 (affiliate): https://eufymake.sjv.io/BnaGz1\n\nCheck out our *CNC Kitchen products* at https://cnckitchen.store/ or at our global resellers https://www.cnckitchen.com/reseller\n\nEmber Prototypes: https://www.emberprototypes.com/products/custom-textured-pei\nAliexpress Print Sheets (affiliate): https://geni.us/AliexpressBambuSheets\nFinger Bot (affiliate): https://geni.us/fingerbot\nFirst Layer Renderer: https://cnckitchen.github.io/FirstLayerRenderer/\n\n💚 Support me 🙏\nPatreon: https://www.patreon.com/cnckitchen\nJoin as a YouTube member!\nShop at Matterhackers: http://www.matterhackers.com/?aff=7479\nBuy a Bambu Lab printer 🐼: https://geni.us/BambuP1S\nTry OnShape: https://onshape.pro/CNCKitchen\nBuy a Prusa printer: https://geni.us/CNCKPrusa\nPayPal: https://www.paypal.me/CNCKitchen\n\n🎙Check out my Podcast with Thomas Sanladerer: https://www.youtube.com/channel/UCzUgJrG-w_KQexroYkJR9XQ\n\nFollow me on Twitter: https://twitter.com/cnc_kitchen\nFollow me on Instagram: https://www.instagram.com/cnckitchenyt\n\n*Chapters*\n00:00 Introduction\n01:31 Sourcing Materials\n02:26 Setting up the first print\n04:24 Building a room-scale fume hood\n06:18 Sponsor\n08:11 Printing PETG\n10:17 Printing Thicker\n13:59 Finger Bot\n14:42 Torture Testing\n15:28 Mirrored or Not-Mirrored\n16:00 Anamorphic Print Sheets\n17:32 More Tests\n19:26 Not a Review\n21:07 Your Thoughts?\n\n#3Dprinting #DIY #eufymake\nDISCLAIMER: Part of this video was sponsored by Squarespace.\nFTC Disclaimer: A percentage of sales is made through Affiliate links", "This Plate Embosses Your Logo Into Every 3D Print", 63, 1316, false, "hgOzJW-heT8", "https://www.youtube.com/watch?v=hgOzJW-heT8", "/downloads/CNC Kitchen/Season 2025/s2025e062400 - This Plate Embosses Your Logo Into Every 3D Print.mp4", false, ~U[2025-06-24 15:00:30Z]] 03:29:27.417 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z], 63] 03:29:27.417 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [63] 03:29:27.419 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133789, 5160243, ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z]] 03:29:27.420 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133790, 5187290, ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z]] 03:29:27.421 [debug] QUERY OK source="media_items" db=0.5ms idle=1.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [63] 03:29:27.421 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [63] 03:29:27.422 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133791, 63, ~U[2026-08-05 01:29:27Z], ~U[2026-08-05 01:29:27Z]] 03:29:27.422 [info] {"args":{"id":63},"id":133288,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":27585339,"event":"job:stop","queue_time":319219,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:27.424 [info] {"args":{"id":5160243},"id":133789,"meta":{},"system_time":1785893367424737852,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:27.424 [info] {"args":{"id":5187290},"id":133790,"meta":{},"system_time":1785893367424783387,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:27.425 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5160243] 03:29:27.425 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:27.425 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5187290] 03:29:27.425 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:27.425 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.425 [debug] QUERY OK source="sources" db=0.4ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [63] 03:29:27.425 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.425 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.426 [debug] QUERY OK source="media_items" db=0.1ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5187290] 03:29:27.426 [debug] QUERY OK source="media_items" db=0.1ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160243] 03:29:27.426 [debug] QUERY OK source="media_metadata" db=0.0ms idle=0.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5187290] 03:29:27.426 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.426 [debug] QUERY OK source="media_metadata" db=0.0ms idle=0.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5160243] 03:29:27.426 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:27.427 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.427 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.427 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.427 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:27.427 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.427 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:27.427 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.427 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.428 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.428 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.428 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sHLGrTBLxLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/f1/46f1b98de89af74fbfc322c8fc05a55798513958c0fb8931c0b9dfcddd7fc094.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:27.428 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.428 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:27.428 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y_vkCFwDIBY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/aa/a1aafc44b24622f9a053d890ca58afdf414c9aef3813edb2eccc444299f8c7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:28.125 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linken-Fraktionschefin Heidi Reichinnek gegen CDU-Fraktionschef Jens Spahn bei Sandra Maischberger zum Haushalt, zur Abgeordnetendiät und zu Reformen.\n\nVideo | Linnemann blamiert sich bei Maischberger!\nhttps://youtu.be/wUtJcLi5q9A \n\nPostproduktion: Florian Dick\nBild: maischberger / ARD\nOriginalvideo: https://www.youtube.com/watch?v=HceY2Lao1hQ&t=1143s\n\nInhalt:\n(00:00:00) Intro\n(00:01:23) Müssen die Krankenkassenbeiträge steigen?\n(00:05:11) Be- und Entlastungen (Für wen?)\n(00:08:46) Renten & Gehalt für Bundestagsabgeordnete\n(00:18:41) Mehr Konfrontation gegenüber den USA?\n(00:21:43) Gemeinsamkeiten: Spahn stimmt Reichinnek zu??\n(00:26:00) Was Kürzen bedeutet…\n(00:29:05) Wie möchte die CDU (Spahn) entlasten?\n(00:35:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #cdu #reformen", "duration" => 2123, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051200 - Reichinnek entlarvt Doppelmoral von Jens Spahn!.mp4", "id" => "LX31fVSrNK4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LX31fVSrNK4", "playlist_index" => 16, "timestamp" => 1778594427, "title" => "Reichinnek entlarvt Doppelmoral von Jens Spahn!", "upload_date" => "20260512"} 03:29:28.126 [debug] QUERY OK source="sources" db=0.1ms idle=697.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:28.126 [debug] QUERY OK source="sources" db=0.1ms idle=698.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:28.128 [debug] QUERY OK source="media_items" db=2.0ms idle=698.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 14:00:27Z], 30] 03:29:28.139 [debug] QUERY OK source="media_items" db=10.7ms idle=700.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Linken-Fraktionschefin Heidi Reichinnek gegen CDU-Fraktionschef Jens Spahn bei Sandra Maischberger zum Haushalt, zur Abgeordnetendiät und zu Reformen.\n\nVideo | Linnemann blamiert sich bei Maischberger!\nhttps://youtu.be/wUtJcLi5q9A \n\nPostproduktion: Florian Dick\nBild: maischberger / ARD\nOriginalvideo: https://www.youtube.com/watch?v=HceY2Lao1hQ&t=1143s\n\nInhalt:\n(00:00:00) Intro\n(00:01:23) Müssen die Krankenkassenbeiträge steigen?\n(00:05:11) Be- und Entlastungen (Für wen?)\n(00:08:46) Renten & Gehalt für Bundestagsabgeordnete\n(00:18:41) Mehr Konfrontation gegenüber den USA?\n(00:21:43) Gemeinsamkeiten: Spahn stimmt Reichinnek zu??\n(00:26:00) Was Kürzen bedeutet…\n(00:29:05) Wie möchte die CDU (Spahn) entlasten?\n(00:35:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #cdu #reformen", "Reichinnek entlarvt Doppelmoral von Jens Spahn!", "06ba55ad-a4d6-4234-ac00-7a74fb5a9b18", false, 30, [], 2123, false, "LX31fVSrNK4", "https://www.youtube.com/watch?v=LX31fVSrNK4", 16, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051200 - Reichinnek entlarvt Doppelmoral von Jens Spahn!.mp4", false, false, 98, ~U[2026-05-12 14:00:27Z], ~U[2026-08-05 01:29:28Z], ~U[2026-08-05 01:29:28Z], "Linken-Fraktionschefin Heidi Reichinnek gegen CDU-Fraktionschef Jens Spahn bei Sandra Maischberger zum Haushalt, zur Abgeordnetendiät und zu Reformen.\n\nVideo | Linnemann blamiert sich bei Maischberger!\nhttps://youtu.be/wUtJcLi5q9A \n\nPostproduktion: Florian Dick\nBild: maischberger / ARD\nOriginalvideo: https://www.youtube.com/watch?v=HceY2Lao1hQ&t=1143s\n\nInhalt:\n(00:00:00) Intro\n(00:01:23) Müssen die Krankenkassenbeiträge steigen?\n(00:05:11) Be- und Entlastungen (Für wen?)\n(00:08:46) Renten & Gehalt für Bundestagsabgeordnete\n(00:18:41) Mehr Konfrontation gegenüber den USA?\n(00:21:43) Gemeinsamkeiten: Spahn stimmt Reichinnek zu??\n(00:26:00) Was Kürzen bedeutet…\n(00:29:05) Wie möchte die CDU (Spahn) entlasten?\n(00:35:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #cdu #reformen", "Reichinnek entlarvt Doppelmoral von Jens Spahn!", 30, 2123, false, "LX31fVSrNK4", "https://www.youtube.com/watch?v=LX31fVSrNK4", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051200 - Reichinnek entlarvt Doppelmoral von Jens Spahn!.mp4", false, ~U[2026-05-12 14:00:27Z]] 03:29:28.140 [debug] QUERY OK source="sources" db=0.1ms idle=277.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:28.140 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:28.140 [debug] QUERY OK source="media_items" db=0.1ms idle=14.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4949608] 03:29:28.141 [debug] Current batch of media processed. Will check again in 1000ms 03:29:29.141 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CDU-Generalsekretär Carsten Linnemann bei Maischberger über den neuen Haushalt, die Rente und die Gesundheitsreform. \n\nArtikel | Erst X, dann die Schuldenbremse\nhttps://www.geldfuerdiewelt.de/p/erst-x-dann-die-schuldenbremse-verlassen-spd-gruene-linke \n\nArtikel | 3-Klassen-Medizin\nhttps://www.geldfuerdiewelt.de/p/drei-klassen-medizin \n\nPostproduktion: Florian Dick\nBild: IMAGO / HMB-Media\nOriginalvideo: https://www.youtube.com/watch?v=-JQzL0GC6Dc&t=142s\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Schulden: Kommt die Finanzkrise?\n(00:10:17) Linnemann kein Fan vom Staat\n(00:12:45) Subventionen streichen & beim Staat sparen\n(00:17:25) Steuererhöhung für Reiche?\n(00:21:06) Linnemann gegen Mehrwertsteuererhöhung\n(00:23:06) Fragenhagel\n(00:27:53) Linnemann will weniger Krankenkassen!\n(00:32:15) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#CDU #Haushalt #Rente", "duration" => 1962, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051000 - Linnemann blamiert sich bei Maischberger! 🙈.mp4", "id" => "wUtJcLi5q9A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wUtJcLi5q9A", "playlist_index" => 17, "timestamp" => 1778421690, "title" => "Linnemann blamiert sich bei Maischberger! 🙈", "upload_date" => "20260510"} 03:29:29.141 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:29.142 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:29.143 [debug] QUERY OK source="media_items" db=1.2ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-10 14:01:30Z], 30] 03:29:29.154 [debug] QUERY OK source="media_items" db=10.2ms idle=1002.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["CDU-Generalsekretär Carsten Linnemann bei Maischberger über den neuen Haushalt, die Rente und die Gesundheitsreform. \n\nArtikel | Erst X, dann die Schuldenbremse\nhttps://www.geldfuerdiewelt.de/p/erst-x-dann-die-schuldenbremse-verlassen-spd-gruene-linke \n\nArtikel | 3-Klassen-Medizin\nhttps://www.geldfuerdiewelt.de/p/drei-klassen-medizin \n\nPostproduktion: Florian Dick\nBild: IMAGO / HMB-Media\nOriginalvideo: https://www.youtube.com/watch?v=-JQzL0GC6Dc&t=142s\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Schulden: Kommt die Finanzkrise?\n(00:10:17) Linnemann kein Fan vom Staat\n(00:12:45) Subventionen streichen & beim Staat sparen\n(00:17:25) Steuererhöhung für Reiche?\n(00:21:06) Linnemann gegen Mehrwertsteuererhöhung\n(00:23:06) Fragenhagel\n(00:27:53) Linnemann will weniger Krankenkassen!\n(00:32:15) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#CDU #Haushalt #Rente", "Linnemann blamiert sich bei Maischberger! 🙈", "adf1c7a0-892c-4580-a4b5-d76ac58b6894", false, 30, [], 1962, false, "wUtJcLi5q9A", "https://www.youtube.com/watch?v=wUtJcLi5q9A", 17, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051000 - Linnemann blamiert sich bei Maischberger! 🙈.mp4", false, false, 98, ~U[2026-05-10 14:01:30Z], ~U[2026-08-05 01:29:29Z], ~U[2026-08-05 01:29:29Z], "CDU-Generalsekretär Carsten Linnemann bei Maischberger über den neuen Haushalt, die Rente und die Gesundheitsreform. \n\nArtikel | Erst X, dann die Schuldenbremse\nhttps://www.geldfuerdiewelt.de/p/erst-x-dann-die-schuldenbremse-verlassen-spd-gruene-linke \n\nArtikel | 3-Klassen-Medizin\nhttps://www.geldfuerdiewelt.de/p/drei-klassen-medizin \n\nPostproduktion: Florian Dick\nBild: IMAGO / HMB-Media\nOriginalvideo: https://www.youtube.com/watch?v=-JQzL0GC6Dc&t=142s\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Schulden: Kommt die Finanzkrise?\n(00:10:17) Linnemann kein Fan vom Staat\n(00:12:45) Subventionen streichen & beim Staat sparen\n(00:17:25) Steuererhöhung für Reiche?\n(00:21:06) Linnemann gegen Mehrwertsteuererhöhung\n(00:23:06) Fragenhagel\n(00:27:53) Linnemann will weniger Krankenkassen!\n(00:32:15) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#CDU #Haushalt #Rente", "Linnemann blamiert sich bei Maischberger! 🙈", 30, 1962, false, "wUtJcLi5q9A", "https://www.youtube.com/watch?v=wUtJcLi5q9A", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051000 - Linnemann blamiert sich bei Maischberger! 🙈.mp4", false, ~U[2026-05-10 14:01:30Z]] 03:29:29.154 [debug] QUERY OK source="sources" db=0.1ms idle=291.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:29.154 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:29.155 [debug] QUERY OK source="media_items" db=0.1ms idle=12.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4942331] 03:29:29.155 [debug] Current batch of media processed. Will check again in 1000ms 03:29:29.333 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y_vkCFwDIBY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/aa/a1aafc44b24622f9a053d890ca58afdf414c9aef3813edb2eccc444299f8c7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Y_vkCFwDIBY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] Y_vkCFwDIBY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:29.333 [error] yt-dlp download error for media item #5160243: "WARNING: [youtube] Y_vkCFwDIBY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Y_vkCFwDIBY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:29.334 [error] yt-dlp download will not be retried: "WARNING: [youtube] Y_vkCFwDIBY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Y_vkCFwDIBY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:29.334 [info] {"args":{"id":5160243},"id":133789,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1909375,"event":"job:stop","queue_time":424351,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:29.479 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sHLGrTBLxLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/f1/46f1b98de89af74fbfc322c8fc05a55798513958c0fb8931c0b9dfcddd7fc094.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] sHLGrTBLxLg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] sHLGrTBLxLg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:29.479 [error] yt-dlp download error for media item #5187290: "WARNING: [youtube] sHLGrTBLxLg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] sHLGrTBLxLg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:29.480 [error] yt-dlp download will not be retried: "WARNING: [youtube] sHLGrTBLxLg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] sHLGrTBLxLg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:29.480 [info] {"args":{"id":5187290},"id":133790,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2055418,"event":"job:stop","queue_time":424351,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:29.870 [info] {"args":{"id":48},"id":133301,"meta":{},"system_time":1785893369870273130,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:29.870 [debug] QUERY OK source="sources" db=0.1ms idle=389.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:29.870 [debug] QUERY OK source="settings" db=0.1ms idle=383.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.889 [debug] QUERY OK source="media_items" db=18.0ms idle=6.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [48] 03:29:29.890 [debug] QUERY OK source="media_items" db=1.0ms idle=18.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [48] 03:29:29.890 [debug] QUERY OK source="media_profiles" db=0.0ms idle=19.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:29.890 [debug] QUERY OK source="settings" db=0.0ms idle=19.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.890 [debug] QUERY OK source="settings" db=0.0ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.892 [debug] QUERY OK source="media_items" db=1.0ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [48] 03:29:29.892 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:29:29.892 [debug] Current batch of media processed. Will check again in 1000ms 03:29:29.892 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.893 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.893 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:29.893 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@boox.global?si=6wSphE-6w3LpV48s --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/BOOX/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/92/36/9236801c6554a414b81bd98983f24fcbc2abab57987e5846d0325457f39ac754.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65/b9/65b9d5dd3f6aa7ce0d4fcd419f5a610396c308d3bf18443ffa892091a8495d0e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:30.155 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Kanzler Merz im ZDF-Interview „Was nun?“ über die miese Wirtschaftslage, die kommenden Reformen und seine Pläne zur Einkommensteuer 🙈\n\nArtikel | Eine Milliarde weniger Wohngeld, irgendwie\nhttps://www.geldfuerdiewelt.de/p/eine-milliarde-weniger-wohngeld-irgendwie-spd-hubertz-klingbeil \n\nPostproduktion: Florian Dick\nBild: Was nun, …? / ZDF\nOriginalvideo: https://www.zdf.de/play/interviews/was-nun-102/was-nun-herr-merz-116\n\nInhalt:\n(00:00:00) Intro\n(00:00:47) ZDF völlig lost: Wirtschaft = Arbeitgeber?\n(00:09:04) Einkommensteuer & Soli: Reform mit Merz?\n(00:21:37) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #steuer #zdf", "duration" => 1318, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050800 - Kanzler Merz verrät seinen wahren Steuerplan! 🤯.mp4", "id" => "X7Xn_6TPzms", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X7Xn_6TPzms", "playlist_index" => 18, "timestamp" => 1778248862, "title" => "Kanzler Merz verrät seinen wahren Steuerplan! 🤯", "upload_date" => "20260508"} 03:29:30.155 [debug] QUERY OK source="sources" db=0.2ms idle=264.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:30.156 [debug] QUERY OK source="sources" db=0.0ms idle=264.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:30.157 [debug] QUERY OK source="media_items" db=1.3ms idle=263.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 14:01:02Z], 30] 03:29:30.168 [debug] QUERY OK source="media_items" db=10.4ms idle=265.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Kanzler Merz im ZDF-Interview „Was nun?“ über die miese Wirtschaftslage, die kommenden Reformen und seine Pläne zur Einkommensteuer 🙈\n\nArtikel | Eine Milliarde weniger Wohngeld, irgendwie\nhttps://www.geldfuerdiewelt.de/p/eine-milliarde-weniger-wohngeld-irgendwie-spd-hubertz-klingbeil \n\nPostproduktion: Florian Dick\nBild: Was nun, …? / ZDF\nOriginalvideo: https://www.zdf.de/play/interviews/was-nun-102/was-nun-herr-merz-116\n\nInhalt:\n(00:00:00) Intro\n(00:00:47) ZDF völlig lost: Wirtschaft = Arbeitgeber?\n(00:09:04) Einkommensteuer & Soli: Reform mit Merz?\n(00:21:37) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #steuer #zdf", "Kanzler Merz verrät seinen wahren Steuerplan! 🤯", "35a68c4c-fb9b-4d4c-ac17-ca0ebdae4b34", false, 30, [], 1318, false, "X7Xn_6TPzms", "https://www.youtube.com/watch?v=X7Xn_6TPzms", 18, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050800 - Kanzler Merz verrät seinen wahren Steuerplan! 🤯.mp4", false, false, 98, ~U[2026-05-08 14:01:02Z], ~U[2026-08-05 01:29:30Z], ~U[2026-08-05 01:29:30Z], "Kanzler Merz im ZDF-Interview „Was nun?“ über die miese Wirtschaftslage, die kommenden Reformen und seine Pläne zur Einkommensteuer 🙈\n\nArtikel | Eine Milliarde weniger Wohngeld, irgendwie\nhttps://www.geldfuerdiewelt.de/p/eine-milliarde-weniger-wohngeld-irgendwie-spd-hubertz-klingbeil \n\nPostproduktion: Florian Dick\nBild: Was nun, …? / ZDF\nOriginalvideo: https://www.zdf.de/play/interviews/was-nun-102/was-nun-herr-merz-116\n\nInhalt:\n(00:00:00) Intro\n(00:00:47) ZDF völlig lost: Wirtschaft = Arbeitgeber?\n(00:09:04) Einkommensteuer & Soli: Reform mit Merz?\n(00:21:37) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #steuer #zdf", "Kanzler Merz verrät seinen wahren Steuerplan! 🤯", 30, 1318, false, "X7Xn_6TPzms", "https://www.youtube.com/watch?v=X7Xn_6TPzms", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050800 - Kanzler Merz verrät seinen wahren Steuerplan! 🤯.mp4", false, ~U[2026-05-08 14:01:02Z]] 03:29:30.169 [debug] QUERY OK source="sources" db=0.1ms idle=275.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:30.169 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:30.169 [debug] QUERY OK source="media_items" db=0.2ms idle=13.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4935111] 03:29:30.170 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Deutschland ist am Ende, lauten Titel und These des neuen Videos von Dinge erklärt - Kurzgesagt. Dieser Faktencheck zeigt: das Video ist keine neutrale Recherche, sondern billige Stimmungsmache. \n\nArtikel | Zu viele Rentner, zu wenig Kinder?\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nPostproduktion: Florian Dick\nBild: @KurzgesagtDE / YouTube\nOriginalvideo: https://youtu.be/jdBlpyCom3U?si=ZOe_qyOMFReX_TKH\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Framing\n(00:02:04) Der \"Bevölkerungskollaps\"\n(00:05:14) Rentenproblem: Alt gegen Jung\n(00:16:01) Problem: Staat, Einwanderung & Schulden?\n(00:25:36) Hilft Einwanderung Deutschland?\n(00:29:11) Fazit: \"Wir brauchen Reformen die wehtun\"\n(00:33:06) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#kurzgesagt #rente #deutschland", "duration" => 2006, "filename" => "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050500 - Kurzgesagt DEBUNKED!.mp4", "id" => "xKGfdWVzKKk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xKGfdWVzKKk", "playlist_index" => 19, "timestamp" => 1777989699, "title" => "Kurzgesagt DEBUNKED!", "upload_date" => "20260505"} 03:29:30.170 [debug] QUERY OK source="sources" db=0.2ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:30.170 [debug] QUERY OK source="sources" db=0.0ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:30.171 [debug] QUERY OK source="media_items" db=1.1ms idle=1.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 14:01:39Z], 30] 03:29:30.173 [debug] QUERY OK source="media_items" db=1.0ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Deutschland ist am Ende, lauten Titel und These des neuen Videos von Dinge erklärt - Kurzgesagt. Dieser Faktencheck zeigt: das Video ist keine neutrale Recherche, sondern billige Stimmungsmache. \n\nArtikel | Zu viele Rentner, zu wenig Kinder?\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nPostproduktion: Florian Dick\nBild: @KurzgesagtDE / YouTube\nOriginalvideo: https://youtu.be/jdBlpyCom3U?si=ZOe_qyOMFReX_TKH\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Framing\n(00:02:04) Der \"Bevölkerungskollaps\"\n(00:05:14) Rentenproblem: Alt gegen Jung\n(00:16:01) Problem: Staat, Einwanderung & Schulden?\n(00:25:36) Hilft Einwanderung Deutschland?\n(00:29:11) Fazit: \"Wir brauchen Reformen die wehtun\"\n(00:33:06) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#kurzgesagt #rente #deutschland", "Kurzgesagt DEBUNKED!", "94bac21a-a773-40c0-88bd-25c634999ae0", false, 30, [], 2006, false, "xKGfdWVzKKk", "https://www.youtube.com/watch?v=xKGfdWVzKKk", 19, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050500 - Kurzgesagt DEBUNKED!.mp4", false, false, 98, ~U[2026-05-05 14:01:39Z], ~U[2026-08-05 01:29:30Z], ~U[2026-08-05 01:29:30Z], "Deutschland ist am Ende, lauten Titel und These des neuen Videos von Dinge erklärt - Kurzgesagt. Dieser Faktencheck zeigt: das Video ist keine neutrale Recherche, sondern billige Stimmungsmache. \n\nArtikel | Zu viele Rentner, zu wenig Kinder?\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nPostproduktion: Florian Dick\nBild: @KurzgesagtDE / YouTube\nOriginalvideo: https://youtu.be/jdBlpyCom3U?si=ZOe_qyOMFReX_TKH\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Framing\n(00:02:04) Der \"Bevölkerungskollaps\"\n(00:05:14) Rentenproblem: Alt gegen Jung\n(00:16:01) Problem: Staat, Einwanderung & Schulden?\n(00:25:36) Hilft Einwanderung Deutschland?\n(00:29:11) Fazit: \"Wir brauchen Reformen die wehtun\"\n(00:33:06) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#kurzgesagt #rente #deutschland", "Kurzgesagt DEBUNKED!", 30, 2006, false, "xKGfdWVzKKk", "https://www.youtube.com/watch?v=xKGfdWVzKKk", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050500 - Kurzgesagt DEBUNKED!.mp4", false, ~U[2026-05-05 14:01:39Z]] 03:29:30.173 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:30.173 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:30.174 [debug] QUERY OK source="media_items" db=0.1ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4924312] 03:29:30.174 [debug] Current batch of media processed. Will check again in 1000ms 03:29:30.893 [debug] Current batch of media processed. Will check again in 1000ms 03:29:31.019 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Maurice_Hoefgen --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Geld für die Welt — Maurice Höfgen/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/9e/2d/9e2d20dfb8d4b5327c05be0173fd80de7f32cee65e96d29eeaaf10dde07afbc1.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/60/b3/60b3183e43585b5ff7d45a5bedd0d6d5a2625220cb292089c0391b6bc12e505e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:29:31.020 [debug] Gracefully stopping file follower 03:29:31.020 [debug] QUERY OK source="sources" db=0.2ms idle=847.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 03:29:31.021 [debug] QUERY OK source="sources" db=0.1ms idle=847.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.023 [debug] QUERY OK source="media_items" db=1.9ms idle=847.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 14:30:38Z], 30] 03:29:31.025 [debug] QUERY OK source="media_items" db=1.4ms idle=158.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jens Brodersen, Experte für nachhaltige Energie, im Interview über die Klimapolitik der Bundesregierung.\n\nMehr über Jens erfahren:\nhttps://campsite.bio/jenz?utm_source=ig&utm_medium=social&utm_content=link_in_bio&fbclid=PAZnRzaATecJJwZG9mAmV4dG4DYWVtAjExAHNydGMGYXBwX2lkDzEyNDAyNDU3NDI4NzQxNAABp4Xv1te8YQYjuGu4Y9OCny5Wxi2HpYkJ9JK4LI-VxNFmArFbJcd31RwRXRCc_aem_WzOuReZcgb3gusare0ebcg \n\nJens‘ Podcast: https://open.spotify.com/show/6J08RhjgdpkWmqwh0VJkMP?si=QH883agZT4mx3ELtrYuqLw&utm_source=copy-link \n\nPostproduktion: Florian Dick\nBild: IMAGO / dts Nachrichtenagentur / Greenpeace\n\nInhalt:\n(00:00:00) Intro\n(00:01:47) Klima-Tote? Kein Thema für die Merz-Regierung\n(00:09:59) Wo bleibt die Sofortmaßnahme der Regierung?\n(00:11:59) So viel kosten uns Hitzeschäden!\n(00:15:04) Zweckentfremdung: Klingbeil bedient sich am KTF\n(00:19:07) CO2 Emissionshandel zurückgebaut\n(00:25:43) Das neue Heizungsgesetz\n(00:33:41) Solar, Windpark usw: Private Energiewende\n(00:40:10) Tankrabatt erfolgreich?\n(00:50:26) Darüber sollte in Talkshows gesprochen werden…\n(00:52:56) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n✉️ Whatsapp: https://whatsapp.com/channel/0029VbDL4l0HltY6wTMr3d2F\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#klima #hitze #merz", "Warum schweigt Merz zu Hitzetoten? 😨", "e4c03487-9241-410b-bacc-5e420959e69a", false, 30, [], 3208, false, "DBGvjMiFFoc", "https://www.youtube.com/watch?v=DBGvjMiFFoc", 1, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e080400 - Warum schweigt Merz zu Hitzetoten? 😨.mp4", false, false, 98, ~U[2026-08-04 14:30:38Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Jens Brodersen, Experte für nachhaltige Energie, im Interview über die Klimapolitik der Bundesregierung.\n\nMehr über Jens erfahren:\nhttps://campsite.bio/jenz?utm_source=ig&utm_medium=social&utm_content=link_in_bio&fbclid=PAZnRzaATecJJwZG9mAmV4dG4DYWVtAjExAHNydGMGYXBwX2lkDzEyNDAyNDU3NDI4NzQxNAABp4Xv1te8YQYjuGu4Y9OCny5Wxi2HpYkJ9JK4LI-VxNFmArFbJcd31RwRXRCc_aem_WzOuReZcgb3gusare0ebcg \n\nJens‘ Podcast: https://open.spotify.com/show/6J08RhjgdpkWmqwh0VJkMP?si=QH883agZT4mx3ELtrYuqLw&utm_source=copy-link \n\nPostproduktion: Florian Dick\nBild: IMAGO / dts Nachrichtenagentur / Greenpeace\n\nInhalt:\n(00:00:00) Intro\n(00:01:47) Klima-Tote? Kein Thema für die Merz-Regierung\n(00:09:59) Wo bleibt die Sofortmaßnahme der Regierung?\n(00:11:59) So viel kosten uns Hitzeschäden!\n(00:15:04) Zweckentfremdung: Klingbeil bedient sich am KTF\n(00:19:07) CO2 Emissionshandel zurückgebaut\n(00:25:43) Das neue Heizungsgesetz\n(00:33:41) Solar, Windpark usw: Private Energiewende\n(00:40:10) Tankrabatt erfolgreich?\n(00:50:26) Darüber sollte in Talkshows gesprochen werden…\n(00:52:56) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n✉️ Whatsapp: https://whatsapp.com/channel/0029VbDL4l0HltY6wTMr3d2F\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#klima #hitze #merz", "Warum schweigt Merz zu Hitzetoten? 😨", 30, 3208, false, "DBGvjMiFFoc", "https://www.youtube.com/watch?v=DBGvjMiFFoc", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e080400 - Warum schweigt Merz zu Hitzetoten? 😨.mp4", false, ~U[2026-08-04 14:30:38Z]] 03:29:31.025 [debug] QUERY OK source="sources" db=0.1ms idle=153.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.026 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 14:00:33Z], 30] 03:29:31.028 [debug] QUERY OK source="media_items" db=0.9ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Friedrich Merz nutzt die Personalwechsel, um eines seiner Lieblingsvorhaben durchzudrücken: Private Investoren in öffentliche Infrastruktur 😨\n\nZum Whatsapp-Channel: https://whatsapp.com/channel/0029VbDL4l0HltY6wTMr3d2F\n\nPostproduktion: Florian Dick\nBild: IMAGO / Bernd Elmenthaler / Guido Schiefer\nOriginalvideo: https://www.youtube.com/watch?v=v5jJmoRHu8g&t=2516s\n\nInhalt:\n(00:00:00) Intro\n(00:00:38) Warum wechselte Merz seinen Verkehrsminister aus?\n(00:04:29) Der neue Verkehrsminister\n(00:11:08) Fazit\n(00:13:38) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#cdu #merz #spahn", "DARUM wechselt Merz den Verkehrsminister! 🤯", "5a7aca6e-6c79-4758-a49b-50cc3dfcf7fc", false, 30, [], 849, false, "lv1SYhbDlkM", "https://www.youtube.com/watch?v=lv1SYhbDlkM", 2, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e073100 - DARUM wechselt Merz den Verkehrsminister! 🤯.mp4", false, false, 98, ~U[2026-07-31 14:00:33Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Friedrich Merz nutzt die Personalwechsel, um eines seiner Lieblingsvorhaben durchzudrücken: Private Investoren in öffentliche Infrastruktur 😨\n\nZum Whatsapp-Channel: https://whatsapp.com/channel/0029VbDL4l0HltY6wTMr3d2F\n\nPostproduktion: Florian Dick\nBild: IMAGO / Bernd Elmenthaler / Guido Schiefer\nOriginalvideo: https://www.youtube.com/watch?v=v5jJmoRHu8g&t=2516s\n\nInhalt:\n(00:00:00) Intro\n(00:00:38) Warum wechselte Merz seinen Verkehrsminister aus?\n(00:04:29) Der neue Verkehrsminister\n(00:11:08) Fazit\n(00:13:38) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#cdu #merz #spahn", "DARUM wechselt Merz den Verkehrsminister! 🤯", 30, 849, false, "lv1SYhbDlkM", "https://www.youtube.com/watch?v=lv1SYhbDlkM", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e073100 - DARUM wechselt Merz den Verkehrsminister! 🤯.mp4", false, ~U[2026-07-31 14:00:33Z]] 03:29:31.028 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.030 [debug] QUERY OK source="media_items" db=1.1ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 14:00:27Z], 30] 03:29:31.031 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Alle kritisieren die Attestpflicht ab Tag 1. Nur: Wie konnte es dazu kommen?\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen bekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie!\n\nEuropavergleich zu den Karenztagen: https://www.personalwirtschaft.de/news/hr-organisation/europavergleich-laender-haben-hohe-fehlzeiten-trotz-karenztag-202884/ \n\nPostproduktion: Florian Dick\nBild: maybrit illner / ZDF / YouTub\nOriginalvideo: https://www.youtube.com/watch?v=DVgGPOVxPII&t=3466s\n\nInhalt:\n(00:00:00) Intro\n(00:03:03) Ärztin & Lang wettern gegen Merz' neue Attestpflicht\n(00:10:02) Gesundheitsministerin auch gegen neue Attestpflicht??\n(00:15:20) Lieber Karenztage?\n(00:24:37) Fazit\n(00:27:48) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n###", "Hausärztin entlarvt Gesundheitsministerin Warken", "23e1291f-56ba-4c36-8647-08bbf0c72958", false, 30, [], 1703, false, "hKqXFDd-aZ0", "https://www.youtube.com/watch?v=hKqXFDd-aZ0", 3, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e072800 - Hausärztin entlarvt Gesundheitsministerin Warken.mp4", false, false, 98, ~U[2026-07-28 14:00:27Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Alle kritisieren die Attestpflicht ab Tag 1. Nur: Wie konnte es dazu kommen?\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen bekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie!\n\nEuropavergleich zu den Karenztagen: https://www.personalwirtschaft.de/news/hr-organisation/europavergleich-laender-haben-hohe-fehlzeiten-trotz-karenztag-202884/ \n\nPostproduktion: Florian Dick\nBild: maybrit illner / ZDF / YouTub\nOriginalvideo: https://www.youtube.com/watch?v=DVgGPOVxPII&t=3466s\n\nInhalt:\n(00:00:00) Intro\n(00:03:03) Ärztin & Lang wettern gegen Merz' neue Attestpflicht\n(00:10:02) Gesundheitsministerin auch gegen neue Attestpflicht??\n(00:15:20) Lieber Karenztage?\n(00:24:37) Fazit\n(00:27:48) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n###", "Hausärztin entlarvt Gesundheitsministerin Warken", 30, 1703, false, "hKqXFDd-aZ0", "https://www.youtube.com/watch?v=hKqXFDd-aZ0", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e072800 - Hausärztin entlarvt Gesundheitsministerin Warken.mp4", false, ~U[2026-07-28 14:00:27Z]] 03:29:31.031 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.033 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-22 17:00:23Z], 30] 03:29:31.034 [debug] QUERY OK source="media_items" db=1.0ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bundeskanzler Friedrich Merz im ZDF-Sommerinterview zu miesen Umfragewerten, unpopulären Reformen und der vermeintlichen Notwendigkeit, mehr arbeiten zu müssen.\n\nStudie | Arbeitsstunden nach Ländern (OECD)\nhttps://www.oecd.org/en/data/indicators/hours-worked.html\n\nStudie | Wochenarbeitszeit nach Ländern (Destatis)\nhttps://www.destatis.de/DE/Themen/Arbeit/Arbeitsmarkt/Indikatoren-Qualitaet-Arbeit/Dimension-3/woechentliche-arbeitszeitl.html\n\nStudie | Arbeitszeit nach Ländern Grafik (INGDIBA)\nhttps://www.ing.de/ueber-uns/presse/carsten-brzeskis-blog/chart-of-the-week-2026-02-20-die-stunden-debatte-braucht-mehr-zukunftsdenken/\n\nPostproduktion: Florian Dick\nBild: ZDF Sommerinterviews / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=y-yB_HroDDM&t=964s\n\nInhalt:\n(00:00:00) Intro\n(00:01:18) Merz hat es einfach schwer…\n(00:03:35) Schulden lasten schwer auf Merz\n(00:06:00) Reformpaket = Belastung\n(00:08:28) Wird es noch Entlastungen geben?\n(00:12:46) Auto-Industrie\n(00:14:02) Merz = Stromberg\n(00:16:10) Merz: Deutsche arbeiten zu wenig\n(00:23:45) Kommunikation von Merz das Problem?\n(00:27:24) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #zdf #sommerinterview", "SO blamiert sich Merz im Sommerinterview!", "2889c533-7689-4a92-8f95-6f12251b9f80", false, 30, [], 1667, false, "jxuUguZFo5k", "https://www.youtube.com/watch?v=jxuUguZFo5k", 4, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e072200 - SO blamiert sich Merz im Sommerinterview!.mp4", false, false, 98, ~U[2026-07-22 17:00:23Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Bundeskanzler Friedrich Merz im ZDF-Sommerinterview zu miesen Umfragewerten, unpopulären Reformen und der vermeintlichen Notwendigkeit, mehr arbeiten zu müssen.\n\nStudie | Arbeitsstunden nach Ländern (OECD)\nhttps://www.oecd.org/en/data/indicators/hours-worked.html\n\nStudie | Wochenarbeitszeit nach Ländern (Destatis)\nhttps://www.destatis.de/DE/Themen/Arbeit/Arbeitsmarkt/Indikatoren-Qualitaet-Arbeit/Dimension-3/woechentliche-arbeitszeitl.html\n\nStudie | Arbeitszeit nach Ländern Grafik (INGDIBA)\nhttps://www.ing.de/ueber-uns/presse/carsten-brzeskis-blog/chart-of-the-week-2026-02-20-die-stunden-debatte-braucht-mehr-zukunftsdenken/\n\nPostproduktion: Florian Dick\nBild: ZDF Sommerinterviews / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=y-yB_HroDDM&t=964s\n\nInhalt:\n(00:00:00) Intro\n(00:01:18) Merz hat es einfach schwer…\n(00:03:35) Schulden lasten schwer auf Merz\n(00:06:00) Reformpaket = Belastung\n(00:08:28) Wird es noch Entlastungen geben?\n(00:12:46) Auto-Industrie\n(00:14:02) Merz = Stromberg\n(00:16:10) Merz: Deutsche arbeiten zu wenig\n(00:23:45) Kommunikation von Merz das Problem?\n(00:27:24) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #zdf #sommerinterview", "SO blamiert sich Merz im Sommerinterview!", 30, 1667, false, "jxuUguZFo5k", "https://www.youtube.com/watch?v=jxuUguZFo5k", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e072200 - SO blamiert sich Merz im Sommerinterview!.mp4", false, ~U[2026-07-22 17:00:23Z]] 03:29:31.035 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 03:29:31.036 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 12:45:22Z], 30] 03:29:31.039 [debug] QUERY OK source="media_items" db=2.8ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Rente, Einkommensteuer, Krankschreibung: Was sich ändert und wieso das Reformpaket von Schwarz-Rot ein großer Flop ist!\n\nPostproduktion: Florian Dick\nBild: IMAGO / Andreas Gora\nOriginalvideo: https://www.youtube.com/watch?v=Yqo58Z0B2Z0\n\nInhalt:\n(00:00:00) Intro & Einordnung\n(00:02:04) Rente & Entlastung\n(00:06:20) Wer wird wirklich entlastet?\n(00:09:59) Abbau von Arbeitnehmerrechten!\n(00:13:14) Privatisierung soll ausgebaut werden!\n(00:14:46) Fazit: Viel Klein-Klein & Sozialstaatsabbau\n(00:17:49) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#rente #einkommensteuer #cdu", "DARUM ist das Reformpaket ein Desaster!", "e4625139-eaa2-4028-811b-55ee4c769c7f", false, 30, [], 1094, false, "TxO0A-O4WAM", "https://www.youtube.com/watch?v=TxO0A-O4WAM", 5, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e070200 - DARUM ist das Reformpaket ein Desaster!.mp4", false, false, 98, ~U[2026-07-02 12:45:22Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Rente, Einkommensteuer, Krankschreibung: Was sich ändert und wieso das Reformpaket von Schwarz-Rot ein großer Flop ist!\n\nPostproduktion: Florian Dick\nBild: IMAGO / Andreas Gora\nOriginalvideo: https://www.youtube.com/watch?v=Yqo58Z0B2Z0\n\nInhalt:\n(00:00:00) Intro & Einordnung\n(00:02:04) Rente & Entlastung\n(00:06:20) Wer wird wirklich entlastet?\n(00:09:59) Abbau von Arbeitnehmerrechten!\n(00:13:14) Privatisierung soll ausgebaut werden!\n(00:14:46) Fazit: Viel Klein-Klein & Sozialstaatsabbau\n(00:17:49) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#rente #einkommensteuer #cdu", "DARUM ist das Reformpaket ein Desaster!", 30, 1094, false, "TxO0A-O4WAM", "https://www.youtube.com/watch?v=TxO0A-O4WAM", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e070200 - DARUM ist das Reformpaket ein Desaster!.mp4", false, ~U[2026-07-02 12:45:22Z]] 03:29:31.039 [debug] QUERY OK source="sources" db=0.2ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.040 [debug] QUERY OK source="media_items" db=0.9ms 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-06-10 14:00:34Z], 30] 03:29:31.042 [debug] QUERY OK source="media_items" db=0.9ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reiner Holznagel, Präsident vom Bund der Steuerzahler, zu Gast bei Marc Friedrich?\n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nArtikel | Ende der Zinslüge\nhttps://www.geldfuerdiewelt.de/p/das-ende-der-zins-luge-lindner\n\nArtikel | Was wäre, wenn der Staat keine Zinsen zahlen müsste? https://www.geldfuerdiewelt.de/p/was-ware-wenn-der-staat-keine-zinsen-hoefgen \n\nQuelle Arbeitsstunden:\nhttps://www.sozialpolitik-aktuell.de/files/sozialpolitik-aktuell/_Politikfelder/Arbeitsbedingungen/Datensammlung/PDF-Dateien/tabIV2.pdf \n\nQuelle Steuertarif:\nhttps://www.sozialpolitik-aktuell.de/files/sozialpolitik-aktuell/_Politikfelder/Finanzierung/Datensammlung/PDF-Dateien/abbIII21a.pdf \n\nPostproduktion: Florian Dick\nBild: MarcFriedrich7 / YouTube\nOriginalvideo: \nhttps://www.youtube.com/watch?v=ksvP0M1044s\nhttps://www.youtube.com/watch?v=Hx2xrNsPNhg\n\nInhalt:\n(00:00:00) Intro & Einordnung\n(00:01:57) Sind Spitzensteuersatz-Zahler reich?\n(00:04:21) Steuern machen Arbeit unattraktiv?\n(00:09:49) \"Mutige\" Sozialreformen\n(00:15:51) Rente\n(00:19:43) Bund der (Spitzen-)Steuerzahler \n(00:22:08) Einkommensteuerreform\n(00:24:42) Merz Regierung: Zu viele Schulden!\n(00:26:28) Achtung: Große Schulden-Zahlen!1!\n(00:40:25) Holznagels Reformvorschläge\n(01:05:43) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#arbeit #schulden #steuern", "Steuer-Lobbyist DEBUNKED", "68c6170b-f892-4dfb-99d3-4e7c25346d10", false, 30, [], 3958, false, "X2JJ0B_WVTg", "https://www.youtube.com/watch?v=X2JJ0B_WVTg", 6, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e061000 - Steuer-Lobbyist DEBUNKED.mp4", false, false, 98, ~U[2026-06-10 14:00:34Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Reiner Holznagel, Präsident vom Bund der Steuerzahler, zu Gast bei Marc Friedrich?\n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nArtikel | Ende der Zinslüge\nhttps://www.geldfuerdiewelt.de/p/das-ende-der-zins-luge-lindner\n\nArtikel | Was wäre, wenn der Staat keine Zinsen zahlen müsste? https://www.geldfuerdiewelt.de/p/was-ware-wenn-der-staat-keine-zinsen-hoefgen \n\nQuelle Arbeitsstunden:\nhttps://www.sozialpolitik-aktuell.de/files/sozialpolitik-aktuell/_Politikfelder/Arbeitsbedingungen/Datensammlung/PDF-Dateien/tabIV2.pdf \n\nQuelle Steuertarif:\nhttps://www.sozialpolitik-aktuell.de/files/sozialpolitik-aktuell/_Politikfelder/Finanzierung/Datensammlung/PDF-Dateien/abbIII21a.pdf \n\nPostproduktion: Florian Dick\nBild: MarcFriedrich7 / YouTube\nOriginalvideo: \nhttps://www.youtube.com/watch?v=ksvP0M1044s\nhttps://www.youtube.com/watch?v=Hx2xrNsPNhg\n\nInhalt:\n(00:00:00) Intro & Einordnung\n(00:01:57) Sind Spitzensteuersatz-Zahler reich?\n(00:04:21) Steuern machen Arbeit unattraktiv?\n(00:09:49) \"Mutige\" Sozialreformen\n(00:15:51) Rente\n(00:19:43) Bund der (Spitzen-)Steuerzahler \n(00:22:08) Einkommensteuerreform\n(00:24:42) Merz Regierung: Zu viele Schulden!\n(00:26:28) Achtung: Große Schulden-Zahlen!1!\n(00:40:25) Holznagels Reformvorschläge\n(01:05:43) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#arbeit #schulden #steuern", "Steuer-Lobbyist DEBUNKED", 30, 3958, false, "X2JJ0B_WVTg", "https://www.youtube.com/watch?v=X2JJ0B_WVTg", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e061000 - Steuer-Lobbyist DEBUNKED.mp4", false, ~U[2026-06-10 14:00:34Z]] 03:29:31.042 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 03:29:31.043 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 14:00:06Z], 30] 03:29:31.044 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dieser WISO-Beitrag vom ZDF zum Thema Rente ist mal wieder unterirdisch recherchiert.\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nVideo | Die Anstalt zur Rente\nhttps://www.youtube.com/watch?v=gXTpUDdh1Rc&t=1010s \n\nVideo | Die Anstalt auf der Republica\nhttps://www.youtube.com/watch?v=iAi4am7fKJY \n\nPostproduktion: Florian Dick\nBild: WISO / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=gCvqrlA3_M8&t=459s\n\nInhalt:\n(00:00:00) Intro\n(00:01:07) ZDF verfehlt Bildungsauftrag\n(00:03:31) Rente: Deutschland vs. Österreich\n(00:06:00) Produktivität ist dem ZDF egal!\n(00:10:23) Bundeszuschuss Rente: ZDF macht BILD-Journalismus\n(00:14:55) Wie retten wir die Rente? (So nicht, ZDF!)\n(00:23:44) ZDF an die Jugend: So viel es geht sparen!\n(00:27:00) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#zdf #wiso #rente", "Liebes ZDF, DAS ist Bild-Niveau!", "258129ed-b1a8-4946-bebb-8f8e7e82aa20", false, 30, [], 1636, false, "LjiCmz1fOLg", "https://www.youtube.com/watch?v=LjiCmz1fOLg", 7, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e060200 - Liebes ZDF, DAS ist Bild-Niveau!.mp4", false, false, 98, ~U[2026-06-02 14:00:06Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Dieser WISO-Beitrag vom ZDF zum Thema Rente ist mal wieder unterirdisch recherchiert.\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nVideo | Die Anstalt zur Rente\nhttps://www.youtube.com/watch?v=gXTpUDdh1Rc&t=1010s \n\nVideo | Die Anstalt auf der Republica\nhttps://www.youtube.com/watch?v=iAi4am7fKJY \n\nPostproduktion: Florian Dick\nBild: WISO / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=gCvqrlA3_M8&t=459s\n\nInhalt:\n(00:00:00) Intro\n(00:01:07) ZDF verfehlt Bildungsauftrag\n(00:03:31) Rente: Deutschland vs. Österreich\n(00:06:00) Produktivität ist dem ZDF egal!\n(00:10:23) Bundeszuschuss Rente: ZDF macht BILD-Journalismus\n(00:14:55) Wie retten wir die Rente? (So nicht, ZDF!)\n(00:23:44) ZDF an die Jugend: So viel es geht sparen!\n(00:27:00) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#zdf #wiso #rente", "Liebes ZDF, DAS ist Bild-Niveau!", 30, 1636, false, "LjiCmz1fOLg", "https://www.youtube.com/watch?v=LjiCmz1fOLg", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e060200 - Liebes ZDF, DAS ist Bild-Niveau!.mp4", false, ~U[2026-06-02 14:00:06Z]] 03:29:31.045 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.046 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 14:23:15Z], 30] 03:29:31.047 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ökonom Heiner Flassbeck im Interview über die Wirtschaftskrise, die Wirtschaftsweisen, das wahre Rentenproblem, die AfD und Maßnahmen für mehr Wachstum! \n\nZum Blog von Heiner Flassbeck:\nhttps://www.relevante-oekonomik.com/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Hohlfeld / Achille Abboud / dts Nachrichtenagentur / IPON\n\nInhalt:\n(00:00:00) Intro\n(00:01:28) Haben wir aktuell eine Inflation? (Irankrieg)\n(00:07:05) Alle ohne Plan: EZB & Ökonomen\n(00:19:35) Flassbeck zu gesetzlicher Rente\n(00:24:39) Klingbeil & Reiche: Kein Plan von Nix\n(00:26:17) Ökonomischer Verstand der SPD (Schulden & Entlastungen)\n(00:39:07) Flassbeck zum Tankrabatt\n(00:42:38) Entlastungen von Flassbeck\n(00:44:52) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#afd #rente #merz", "Ökonom Flassbeck: „DANN kommt die AfD an die Macht“", "b9cb3b6b-04df-417d-b74c-68118fe53f80", false, 30, [], 2723, false, "j6FENUS5PgM", "https://www.youtube.com/watch?v=j6FENUS5PgM", 8, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e053100 - Ökonom Flassbeck: „DANN kommt die AfD an die Macht“.mp4", false, false, 98, ~U[2026-05-31 14:23:15Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Ökonom Heiner Flassbeck im Interview über die Wirtschaftskrise, die Wirtschaftsweisen, das wahre Rentenproblem, die AfD und Maßnahmen für mehr Wachstum! \n\nZum Blog von Heiner Flassbeck:\nhttps://www.relevante-oekonomik.com/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Hohlfeld / Achille Abboud / dts Nachrichtenagentur / IPON\n\nInhalt:\n(00:00:00) Intro\n(00:01:28) Haben wir aktuell eine Inflation? (Irankrieg)\n(00:07:05) Alle ohne Plan: EZB & Ökonomen\n(00:19:35) Flassbeck zu gesetzlicher Rente\n(00:24:39) Klingbeil & Reiche: Kein Plan von Nix\n(00:26:17) Ökonomischer Verstand der SPD (Schulden & Entlastungen)\n(00:39:07) Flassbeck zum Tankrabatt\n(00:42:38) Entlastungen von Flassbeck\n(00:44:52) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#afd #rente #merz", "Ökonom Flassbeck: „DANN kommt die AfD an die Macht“", 30, 2723, false, "j6FENUS5PgM", "https://www.youtube.com/watch?v=j6FENUS5PgM", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e053100 - Ökonom Flassbeck: „DANN kommt die AfD an die Macht“.mp4", false, ~U[2026-05-31 14:23:15Z]] 03:29:31.047 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.048 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 14:00:08Z], 30] 03:29:31.050 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bundesfinanzminister Lars Klingbeil im Interview bei Machtwechsel über die Kürzungen im Haushalt, die Notlage der Schuldenbremse, die Reform der Einkommensteuer und die Senkung der Unternehmenssteuer.\n\nArtikel | Diese Kürzungen sind ein Angriff auf Mütter\nhttps://www.geldfuerdiewelt.de/p/diese-kurzungen-sind-ein-angriff \n\nArtikel | Mythos: Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nPostproduktion: Florian Dick\nBild: IMAGO / Mike Schmidt\nOriginalvideo:\nhttps://open.spotify.com/episode/1xhaD2r4G0t8XDMdVLcKED\nhttps://youtu.be/a2b6TRjrp5w?si=a2EagnALFjgaPIXf\n\nInhalt:\n(00:00:00) Intro\n(00:01:04) Die Klingbeil-Kürzungen\n(00:07:45) Rasenmäher-Kürzungen: Gute Idee?\n(00:14:01) Notlage ausrufen und Schuldenbremse aussetzen?\n(00:20:45) Reform der Schuldenbremse: Wie ist der Stand?\n(00:25:31) Lieber Sparen als Schulden?\n(00:31:16) Behält Deutschland das AAA-Rating?\n(00:32:53) Einkommensteuerreform gut?\n(00:39:01) Unternehmenssteuersenkung\n(00:45:07) Fazit\n(00:46:44) Outro\n\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#spd #klingbeil #haushalt", "DIESES Interview hat mich schockiert! 🤯", "637c7b1a-0b50-4853-9ca1-a4dc79b95ab9", false, 30, [], 2828, false, "blpuwm1GwDc", "https://www.youtube.com/watch?v=blpuwm1GwDc", 9, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052900 - DIESES Interview hat mich schockiert! 🤯.mp4", false, false, 98, ~U[2026-05-29 14:00:08Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Bundesfinanzminister Lars Klingbeil im Interview bei Machtwechsel über die Kürzungen im Haushalt, die Notlage der Schuldenbremse, die Reform der Einkommensteuer und die Senkung der Unternehmenssteuer.\n\nArtikel | Diese Kürzungen sind ein Angriff auf Mütter\nhttps://www.geldfuerdiewelt.de/p/diese-kurzungen-sind-ein-angriff \n\nArtikel | Mythos: Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nPostproduktion: Florian Dick\nBild: IMAGO / Mike Schmidt\nOriginalvideo:\nhttps://open.spotify.com/episode/1xhaD2r4G0t8XDMdVLcKED\nhttps://youtu.be/a2b6TRjrp5w?si=a2EagnALFjgaPIXf\n\nInhalt:\n(00:00:00) Intro\n(00:01:04) Die Klingbeil-Kürzungen\n(00:07:45) Rasenmäher-Kürzungen: Gute Idee?\n(00:14:01) Notlage ausrufen und Schuldenbremse aussetzen?\n(00:20:45) Reform der Schuldenbremse: Wie ist der Stand?\n(00:25:31) Lieber Sparen als Schulden?\n(00:31:16) Behält Deutschland das AAA-Rating?\n(00:32:53) Einkommensteuerreform gut?\n(00:39:01) Unternehmenssteuersenkung\n(00:45:07) Fazit\n(00:46:44) Outro\n\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#spd #klingbeil #haushalt", "DIESES Interview hat mich schockiert! 🤯", 30, 2828, false, "blpuwm1GwDc", "https://www.youtube.com/watch?v=blpuwm1GwDc", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052900 - DIESES Interview hat mich schockiert! 🤯.mp4", false, ~U[2026-05-29 14:00:08Z]] 03:29:31.050 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.051 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 14:00:14Z], 30] 03:29:31.052 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Wirtschaftsweise Veronika Grimm gegen SPD-Abgeordneten Ralf Stegner zu anstehenden Reformen, neuen Schulden, den Sozialstaat und der Einkommensteuer.\n\nQuelle Tankrabatt:\nhttps://www.ifo.de/tankrabatt-tracker \n\nQuelle Lohnstückkosten: https://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \n\nPostproduktion: Florian Dick\nBild: IMAGO / Revierfoto / teutopress / maischberger / ARD\nOriginalvideo: https://www.ardmediathek.de/video/maischberger/maischberger-am-19-05-2026/wdr/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNzJhYjQ0NmUtNDk3OC00NzA3LTgxNzEtNmY5ZWYwMDQ3Yzkz\n\nInhalt:\n(00:00:00) Intro\n(00:01:03) Merz zu Besuch bei der SPD\n(00:03:34) Hat Deutschland zu viele Schulden?\n(00:07:53) Kompromisse der SPD: Mehr arbeiten?\n(00:16:52) Ist Arbeit in Deutschland zu teuer?\n(00:21:12) Merz: Die Menschen sind Faul\n(00:22:44) Zu wenig Arbeitsplätze?\n(00:26:30) Grimm: Deutschland first\n(00:29:32) Müssen Junge länger arbeiten?\n(00:31:50) Mütterrente gut?\n(00:32:34) 1000€ Prämie gut?\n(00:33:25) Hat der Tankrabatt funktioniert?\n(00:34:54) Tempolimit, Reiche, Schuldenbremse, Subventionen\n(00:37:43) Umverteilung?\n(00:46:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #wirtschaft #schulden", "Nein, wir müssen nicht MEHR arbeiten, Frau Grimm!", "c9d1cc3b-032b-4998-9f2f-8f21567b0454", false, 30, [], 2787, false, "8A8q0GucAhk", "https://www.youtube.com/watch?v=8A8q0GucAhk", 10, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052600 - Nein, wir müssen nicht MEHR arbeiten, Frau Grimm!.mp4", false, false, 98, ~U[2026-05-26 14:00:14Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Wirtschaftsweise Veronika Grimm gegen SPD-Abgeordneten Ralf Stegner zu anstehenden Reformen, neuen Schulden, den Sozialstaat und der Einkommensteuer.\n\nQuelle Tankrabatt:\nhttps://www.ifo.de/tankrabatt-tracker \n\nQuelle Lohnstückkosten: https://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \n\nPostproduktion: Florian Dick\nBild: IMAGO / Revierfoto / teutopress / maischberger / ARD\nOriginalvideo: https://www.ardmediathek.de/video/maischberger/maischberger-am-19-05-2026/wdr/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNzJhYjQ0NmUtNDk3OC00NzA3LTgxNzEtNmY5ZWYwMDQ3Yzkz\n\nInhalt:\n(00:00:00) Intro\n(00:01:03) Merz zu Besuch bei der SPD\n(00:03:34) Hat Deutschland zu viele Schulden?\n(00:07:53) Kompromisse der SPD: Mehr arbeiten?\n(00:16:52) Ist Arbeit in Deutschland zu teuer?\n(00:21:12) Merz: Die Menschen sind Faul\n(00:22:44) Zu wenig Arbeitsplätze?\n(00:26:30) Grimm: Deutschland first\n(00:29:32) Müssen Junge länger arbeiten?\n(00:31:50) Mütterrente gut?\n(00:32:34) 1000€ Prämie gut?\n(00:33:25) Hat der Tankrabatt funktioniert?\n(00:34:54) Tempolimit, Reiche, Schuldenbremse, Subventionen\n(00:37:43) Umverteilung?\n(00:46:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #wirtschaft #schulden", "Nein, wir müssen nicht MEHR arbeiten, Frau Grimm!", 30, 2787, false, "8A8q0GucAhk", "https://www.youtube.com/watch?v=8A8q0GucAhk", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052600 - Nein, wir müssen nicht MEHR arbeiten, Frau Grimm!.mp4", false, ~U[2026-05-26 14:00:14Z]] 03:29:31.053 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.054 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 14:01:01Z], 30] 03:29:31.055 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Exklusiv im Interview: SPD-Generalsekretär Tim Klüssendorf über die Schuldenbremse, die Kürzungen, die Regierung, das Wohngeld, das Elterngeld und die Reform der Einkommensteuer.\n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nPostproduktion: Florian Dick\nBild: IMAGO / Political-Moments\n\nInhalt:\n(00:00:00) Intro\n(00:01:45) Merz will mehr CDU-Politik durchsetzen…\n(00:03:24) Was hat die SPD durchgesetzt?\n(00:04:44) Was sollte die SPD noch durchsetzen?\n(00:06:53) Wie kann die SPD anfangen Themen zu setzen?\n(00:10:41) Warum kuscht die SPD beim Thema Einkommensteuer?\n(00:12:56) Soli streichen für Anhebung des Spitzensteuersatzes?\n(00:15:21) Krankenkassenbeiträge senken?\n(00:17:51) Kommt die Reform der Schuldenbremse noch?\n(00:22:07) Diese Spielräume bietet die Schuldenbremse aktuell…\n(00:23:22) Zinsen aus Schulden bezahlen?\n(00:24:19) Notfallklausel der Schuldenbremse ziehen?\n(00:28:25) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n#spd #schuldenbremse #reformen", "Interview: SPD-General Klüssendorf über Kürzungen, Einkommensteuer und Schuldenbremse", "ca61086d-2b97-47fd-936a-28a90e546998", false, 30, [], 1732, false, "riW1YeehiFc", "https://www.youtube.com/watch?v=riW1YeehiFc", 11, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052400 - Interview: SPD-General Klüssendorf über Kürzungen, Einkommensteuer und Schuldenbremse.mp4", false, false, 98, ~U[2026-05-24 14:01:01Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Exklusiv im Interview: SPD-Generalsekretär Tim Klüssendorf über die Schuldenbremse, die Kürzungen, die Regierung, das Wohngeld, das Elterngeld und die Reform der Einkommensteuer.\n\nArtikel | Vergesst die Einkommensteuer!\nhttps://www.geldfuerdiewelt.de/p/vergesst-die-einkommensteuer \n\nPostproduktion: Florian Dick\nBild: IMAGO / Political-Moments\n\nInhalt:\n(00:00:00) Intro\n(00:01:45) Merz will mehr CDU-Politik durchsetzen…\n(00:03:24) Was hat die SPD durchgesetzt?\n(00:04:44) Was sollte die SPD noch durchsetzen?\n(00:06:53) Wie kann die SPD anfangen Themen zu setzen?\n(00:10:41) Warum kuscht die SPD beim Thema Einkommensteuer?\n(00:12:56) Soli streichen für Anhebung des Spitzensteuersatzes?\n(00:15:21) Krankenkassenbeiträge senken?\n(00:17:51) Kommt die Reform der Schuldenbremse noch?\n(00:22:07) Diese Spielräume bietet die Schuldenbremse aktuell…\n(00:23:22) Zinsen aus Schulden bezahlen?\n(00:24:19) Notfallklausel der Schuldenbremse ziehen?\n(00:28:25) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n#spd #schuldenbremse #reformen", "Interview: SPD-General Klüssendorf über Kürzungen, Einkommensteuer und Schuldenbremse", 30, 1732, false, "riW1YeehiFc", "https://www.youtube.com/watch?v=riW1YeehiFc", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052400 - Interview: SPD-General Klüssendorf über Kürzungen, Einkommensteuer und Schuldenbremse.mp4", false, ~U[2026-05-24 14:01:01Z]] 03:29:31.055 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.056 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 14:00:28Z], 30] 03:29:31.058 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ich war zu Gast im Presseclub. Hier Teil 2 meines Faktenchecks samt Analyse!\n\nAnzeige | Erhalte 15% Rabatt mit MAURICEHOEFGEN_15 ab 50 € Mindestbestellwert auf alles außer Sale-Artikel, gültig bis einschließlich 30.06.2026\nhttps://www.armedangels.com/pages/t-shirt-guide?utm_source=social&utm_medium=influence[…]26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n\nMeine Armedangels-Bestellung:\n• TAPERED PULL ON PANT (namsen, 32): https://www.armedangels.com/products/tapered-pull-on-hose-namsen?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n• MAARKOS MID WEIGHT T-SHIRT (white, M): https://www.armedangels.com/products/maarkos-mid-weight-t-shirt-white?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• MAARKOS LOVE SINCE T-SHIRT (pure, M): https://www.armedangels.com/products/maarkos-love-since-t-shirt-pure?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• RYAANO BOXER BRIEF (black, M): https://www.armedangels.com/products/ryaano-black?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n\nArtikel | Rotstift in der Psychotherapie?\nhttps://www.geldfuerdiewelt.de/p/rotstift-fur-psychotherapie-ein-fehler\n\nArtikel | Einordnung der Studie zum Sondervermögen\nhttps://www.geldfuerdiewelt.de/p/emporung-zum-sondervermogen-eigentor-95-prozent-ifo-schulden-klingbeil\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:02:53) Merz zurecht ausgebuht?\n(00:09:34) Siems wird laut…\n(00:11:43) Merz macht linke Politik?!\n(00:18:30) Wirtschaftswachstum wegen Schulden\n(00:20:22) WELT-Chefökonomin Faktenfern\n(00:24:05) Gewerkschaften & Regierung\n(00:28:53) Faktencheck: Zweckentfremdung Sondervermögen?\n(00:32:25) Minderheitsregierung\n(00:34:19) Welche Reformen sollte die Regierung angehen?\n(00:39:01) Zuschauerfragen\n(00:42:43) Ehren-Anrufer\n(00:46:13) Arbeitszeit Flexibilisierung\n(00:48:52) Mindestlohn abschaffen?!\n(00:52:22) Kommunikations-Coaching für Merz?\n(00:55:26) Mehr arbeiten macht mehr krank!\n(00:58:16) Arbeitserschöpfung\n(01:02:18) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #reformen", "Maurice Höfgen widerlegt Springer-Journalistin im Presseclub!", "aab9867b-0f23-4086-8664-ff8395b18d34", false, 30, [], 3754, false, "SjPQyDSl3zI", "https://www.youtube.com/watch?v=SjPQyDSl3zI", 12, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e052200 - Maurice Höfgen widerlegt Springer-Journalistin im Presseclub!.mp4", false, false, 98, ~U[2026-05-22 14:00:28Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Ich war zu Gast im Presseclub. Hier Teil 2 meines Faktenchecks samt Analyse!\n\nAnzeige | Erhalte 15% Rabatt mit MAURICEHOEFGEN_15 ab 50 € Mindestbestellwert auf alles außer Sale-Artikel, gültig bis einschließlich 30.06.2026\nhttps://www.armedangels.com/pages/t-shirt-guide?utm_source=social&utm_medium=influence[…]26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n\nMeine Armedangels-Bestellung:\n• TAPERED PULL ON PANT (namsen, 32): https://www.armedangels.com/products/tapered-pull-on-hose-namsen?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n• MAARKOS MID WEIGHT T-SHIRT (white, M): https://www.armedangels.com/products/maarkos-mid-weight-t-shirt-white?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• MAARKOS LOVE SINCE T-SHIRT (pure, M): https://www.armedangels.com/products/maarkos-love-since-t-shirt-pure?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15\n• RYAANO BOXER BRIEF (black, M): https://www.armedangels.com/products/ryaano-black?utm_source=social&utm_medium=influencer&utm_campaign=im_yt_summer_t_shirt_guide_men_26&utm_content=MAURICEHOEFGEN_15&discount=MAURICEHOEFGEN_15 \n\nArtikel | Rotstift in der Psychotherapie?\nhttps://www.geldfuerdiewelt.de/p/rotstift-fur-psychotherapie-ein-fehler\n\nArtikel | Einordnung der Studie zum Sondervermögen\nhttps://www.geldfuerdiewelt.de/p/emporung-zum-sondervermogen-eigentor-95-prozent-ifo-schulden-klingbeil\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:02:53) Merz zurecht ausgebuht?\n(00:09:34) Siems wird laut…\n(00:11:43) Merz macht linke Politik?!\n(00:18:30) Wirtschaftswachstum wegen Schulden\n(00:20:22) WELT-Chefökonomin Faktenfern\n(00:24:05) Gewerkschaften & Regierung\n(00:28:53) Faktencheck: Zweckentfremdung Sondervermögen?\n(00:32:25) Minderheitsregierung\n(00:34:19) Welche Reformen sollte die Regierung angehen?\n(00:39:01) Zuschauerfragen\n(00:42:43) Ehren-Anrufer\n(00:46:13) Arbeitszeit Flexibilisierung\n(00:48:52) Mindestlohn abschaffen?!\n(00:52:22) Kommunikations-Coaching für Merz?\n(00:55:26) Mehr arbeiten macht mehr krank!\n(00:58:16) Arbeitserschöpfung\n(01:02:18) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der (truncated) 03:29:31.058 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.059 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 14:00:51Z], 30] 03:29:31.060 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ich war zu Gast im Presseclub. Hier mein Faktencheck samt Analyse!\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen\nbekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie! \n\nArtikel | Grafik zu Lohnentwicklung/Rente:\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder?utm_source=publication-search\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nQuelle Mindestlohn: \nhttps://mindestlohnbetrug.de/#kontrolle \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:03:00) Gewerkschaften und der 8-Stunden-Tag\n(00:05:44) Studien: Was passiert nach der 8. Stunde Arbeit?\n(00:10:32) 8-Stunden-Tag: Sinnvolle Debatte?\n(00:15:45) Schutz vor Betrug vs. Flexibilität\n(00:23:25) Müssen die Deutschen mehr arbeiten?\n(00:32:12) Proteste der Arbeitnehmer/Gewerkschaften\n(00:36:16) WELT-Journalistin Siems wird ruppig…\n(00:38:00) Kompromissbereitschaft von SPD & CDU\n(00:42:40) Problem der SPD: Linke Politik in Deutschland\n(00:47:29) Merz wird ausgelacht\n(00:49:29) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #arbeitszeit", "Mein Streit mit der WELT-Chefökonomin im Presseclub!", "992ab36c-0b6b-4aa5-8ab7-0050ae0997f5", false, 30, [], 3000, false, "drpk-uJzzd4", "https://www.youtube.com/watch?v=drpk-uJzzd4", 13, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051900 - Mein Streit mit der WELT-Chefökonomin im Presseclub!.mp4", false, false, 98, ~U[2026-05-19 14:00:51Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Ich war zu Gast im Presseclub. Hier mein Faktencheck samt Analyse!\n\nAnzeige | Unter https://cyberghostvpn.com/MauriceHofgen\nbekommst du 83% Rabatt + 4 Monate gratis inkl. 45 Tage Geld-Zurück-Garantie! \n\nArtikel | Grafik zu Lohnentwicklung/Rente:\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder?utm_source=publication-search\n\nQuelle BAUA: https://www.baua.de/DE/Angebote/Publikationen/Fokus/Arbeitszeit-und-gesundheitliche-Auswirkungen.pdf?__blob=publicationFile&v=1 \n\nQuelle Mindestlohn: \nhttps://mindestlohnbetrug.de/#kontrolle \n\nPostproduktion: Florian Dick\nBild: Presseclub / WDR\nOriginalvideo: https://www.youtube.com/watch?v=rDuk1yqn_nE&t=2045s\n\nInhalt:\n(00:00:00) Intro\n(00:03:00) Gewerkschaften und der 8-Stunden-Tag\n(00:05:44) Studien: Was passiert nach der 8. Stunde Arbeit?\n(00:10:32) 8-Stunden-Tag: Sinnvolle Debatte?\n(00:15:45) Schutz vor Betrug vs. Flexibilität\n(00:23:25) Müssen die Deutschen mehr arbeiten?\n(00:32:12) Proteste der Arbeitnehmer/Gewerkschaften\n(00:36:16) WELT-Journalistin Siems wird ruppig…\n(00:38:00) Kompromissbereitschaft von SPD & CDU\n(00:42:40) Problem der SPD: Linke Politik in Deutschland\n(00:47:29) Merz wird ausgelacht\n(00:49:29) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #presseclub #arbeitszeit", "Mein Streit mit der WELT-Chefökonomin im Presseclub!", 30, 3000, false, "drpk-uJzzd4", "https://www.youtube.com/watch?v=drpk-uJzzd4", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051900 - Mein Streit mit der WELT-Chefökonomin im Presseclub!.mp4", false, ~U[2026-05-19 14:00:51Z]] 03:29:31.061 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.062 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-17 14:00:00Z], 30] 03:29:31.063 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Die Präsidentin vom Lobbyverein Die Familienunternehmer, Marie-Christine Ostermann, im Phoenix Interview mit Florian Bauer zum neuen Haushalt und dem Krisenbonus.\n\nArtikel | Mythos Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nPostproduktion: Florian Dick\nBild: IMAGO / photothek\nOriginalvideo: https://www.youtube.com/watch?v=IRtL6B3__1g\n\nInhalt:\n(00:00:00) Intro\n(00:01:42) Entlastungsprämie schlecht?\n(00:05:25) Strukturreformen von \"Die Familienunternehmer\"\n(00:07:52) Moderator on fire! (Kürzungen von Subventionen)\n(00:19:01) Die Familienunternehmer und die AfD\n(00:22:39) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#phoenix #haushalt #subventionen", "Gebt diesem Moderator eine Talkshow!", "81756cf5-ddbf-4162-8556-b0c7e3a0fd85", false, 30, [], 1382, false, "-3ExL3SqIaU", "https://www.youtube.com/watch?v=-3ExL3SqIaU", 14, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051700 - Gebt diesem Moderator eine Talkshow!.mp4", false, false, 98, ~U[2026-05-17 14:00:00Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Die Präsidentin vom Lobbyverein Die Familienunternehmer, Marie-Christine Ostermann, im Phoenix Interview mit Florian Bauer zum neuen Haushalt und dem Krisenbonus.\n\nArtikel | Mythos Rasenmäher-Methode\nhttps://www.geldfuerdiewelt.de/p/mythos-rasenmaher-methode-spahn-linnemann-subventionen-cdu \n\nPostproduktion: Florian Dick\nBild: IMAGO / photothek\nOriginalvideo: https://www.youtube.com/watch?v=IRtL6B3__1g\n\nInhalt:\n(00:00:00) Intro\n(00:01:42) Entlastungsprämie schlecht?\n(00:05:25) Strukturreformen von \"Die Familienunternehmer\"\n(00:07:52) Moderator on fire! (Kürzungen von Subventionen)\n(00:19:01) Die Familienunternehmer und die AfD\n(00:22:39) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#phoenix #haushalt #subventionen", "Gebt diesem Moderator eine Talkshow!", 30, 1382, false, "-3ExL3SqIaU", "https://www.youtube.com/watch?v=-3ExL3SqIaU", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051700 - Gebt diesem Moderator eine Talkshow!.mp4", false, ~U[2026-05-17 14:00:00Z]] 03:29:31.063 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.064 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 15:17:17Z], 30] 03:29:31.066 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Kanzler Merz hält eine Verzichtsrede beim DGB und erntet dafür Buh-Rufe. Zurecht?\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nQuellen:\nhttps://www.iwkoeln.de/fileadmin/user_upload/Studien/IW-Trends/PDF/2025/IW-Trends_2025-02-06_Schr%C3%B6der.pdf \nhttps://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \nhttps://www.demografie-portal.de/DE/Fakten/altersrentner-beitragszahler.html\nhttps://www.bpb.de/kurz-knapp/zahlen-und-fakten/soziale-situation-in-deutschland/61896/steuer-und-abgabenlast-von-durchschnittsverdienern/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Chris Emil Janßen\nOriginalvideo: https://www.youtube.com/watch?v=V23Ymf0yq94&t=1336s\n\nInhalt:\n(00:00:00) Intro\n(00:01:14) Beschäftigte sollen es ausbaden\n(00:09:50) Hat Deutschland eine steigende Abgabenlast?\n(00:19:50) \"Reformen helfen uns allen\"\n(00:24:29) Die ersten Pfiffe für Merz (Thema Rente)\n(00:28:39) Kapitalgedeckte Altersvorsorge\n(00:34:10) Merz wird ausgebuht (Kurzungen = \"Reformen\")\n(00:41:20) Merz feiert seine Erfolge und resümiert…\n(00:50:36) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #dgb #rede", "DARUM wurde Merz ZU LEISE ausgebuht!", "6c1007a0-f5ec-4f2d-b783-6a2dcacef3d2", false, 30, [], 3056, false, "ipolMILkg_M", "https://www.youtube.com/watch?v=ipolMILkg_M", 15, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051500 - DARUM wurde Merz ZU LEISE ausgebuht!.mp4", false, false, 98, ~U[2026-05-15 15:17:17Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Kanzler Merz hält eine Verzichtsrede beim DGB und erntet dafür Buh-Rufe. Zurecht?\n\nArtikel | Zu viele Rentner, zu wenig Kinder? Nein, zu viel Ungleichheit!\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nQuellen:\nhttps://www.iwkoeln.de/fileadmin/user_upload/Studien/IW-Trends/PDF/2025/IW-Trends_2025-02-06_Schr%C3%B6der.pdf \nhttps://www.imk-boeckler.de/fpdf/HBS-008903/p_imk_report_190_2024.pdf \nhttps://www.demografie-portal.de/DE/Fakten/altersrentner-beitragszahler.html\nhttps://www.bpb.de/kurz-knapp/zahlen-und-fakten/soziale-situation-in-deutschland/61896/steuer-und-abgabenlast-von-durchschnittsverdienern/ \n\nPostproduktion: Florian Dick\nBild: IMAGO / Chris Emil Janßen\nOriginalvideo: https://www.youtube.com/watch?v=V23Ymf0yq94&t=1336s\n\nInhalt:\n(00:00:00) Intro\n(00:01:14) Beschäftigte sollen es ausbaden\n(00:09:50) Hat Deutschland eine steigende Abgabenlast?\n(00:19:50) \"Reformen helfen uns allen\"\n(00:24:29) Die ersten Pfiffe für Merz (Thema Rente)\n(00:28:39) Kapitalgedeckte Altersvorsorge\n(00:34:10) Merz wird ausgebuht (Kurzungen = \"Reformen\")\n(00:41:20) Merz feiert seine Erfolge und resümiert…\n(00:50:36) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #dgb #rede", "DARUM wurde Merz ZU LEISE ausgebuht!", 30, 3056, false, "ipolMILkg_M", "https://www.youtube.com/watch?v=ipolMILkg_M", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051500 - DARUM wurde Merz ZU LEISE ausgebuht!.mp4", false, ~U[2026-05-15 15:17:17Z]] 03:29:31.066 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.067 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 14:00:27Z], 30] 03:29:31.068 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Linken-Fraktionschefin Heidi Reichinnek gegen CDU-Fraktionschef Jens Spahn bei Sandra Maischberger zum Haushalt, zur Abgeordnetendiät und zu Reformen.\n\nVideo | Linnemann blamiert sich bei Maischberger!\nhttps://youtu.be/wUtJcLi5q9A \n\nPostproduktion: Florian Dick\nBild: maischberger / ARD\nOriginalvideo: https://www.youtube.com/watch?v=HceY2Lao1hQ&t=1143s\n\nInhalt:\n(00:00:00) Intro\n(00:01:23) Müssen die Krankenkassenbeiträge steigen?\n(00:05:11) Be- und Entlastungen (Für wen?)\n(00:08:46) Renten & Gehalt für Bundestagsabgeordnete\n(00:18:41) Mehr Konfrontation gegenüber den USA?\n(00:21:43) Gemeinsamkeiten: Spahn stimmt Reichinnek zu??\n(00:26:00) Was Kürzen bedeutet…\n(00:29:05) Wie möchte die CDU (Spahn) entlasten?\n(00:35:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #cdu #reformen", "Reichinnek entlarvt Doppelmoral von Jens Spahn!", "a641a143-7ec3-4071-a177-5af767521406", false, 30, [], 2123, false, "LX31fVSrNK4", "https://www.youtube.com/watch?v=LX31fVSrNK4", 16, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051200 - Reichinnek entlarvt Doppelmoral von Jens Spahn!.mp4", false, false, 98, ~U[2026-05-12 14:00:27Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Linken-Fraktionschefin Heidi Reichinnek gegen CDU-Fraktionschef Jens Spahn bei Sandra Maischberger zum Haushalt, zur Abgeordnetendiät und zu Reformen.\n\nVideo | Linnemann blamiert sich bei Maischberger!\nhttps://youtu.be/wUtJcLi5q9A \n\nPostproduktion: Florian Dick\nBild: maischberger / ARD\nOriginalvideo: https://www.youtube.com/watch?v=HceY2Lao1hQ&t=1143s\n\nInhalt:\n(00:00:00) Intro\n(00:01:23) Müssen die Krankenkassenbeiträge steigen?\n(00:05:11) Be- und Entlastungen (Für wen?)\n(00:08:46) Renten & Gehalt für Bundestagsabgeordnete\n(00:18:41) Mehr Konfrontation gegenüber den USA?\n(00:21:43) Gemeinsamkeiten: Spahn stimmt Reichinnek zu??\n(00:26:00) Was Kürzen bedeutet…\n(00:29:05) Wie möchte die CDU (Spahn) entlasten?\n(00:35:07) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#ard #cdu #reformen", "Reichinnek entlarvt Doppelmoral von Jens Spahn!", 30, 2123, false, "LX31fVSrNK4", "https://www.youtube.com/watch?v=LX31fVSrNK4", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051200 - Reichinnek entlarvt Doppelmoral von Jens Spahn!.mp4", false, ~U[2026-05-12 14:00:27Z]] 03:29:31.068 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.069 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-10 14:01:30Z], 30] 03:29:31.070 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["CDU-Generalsekretär Carsten Linnemann bei Maischberger über den neuen Haushalt, die Rente und die Gesundheitsreform. \n\nArtikel | Erst X, dann die Schuldenbremse\nhttps://www.geldfuerdiewelt.de/p/erst-x-dann-die-schuldenbremse-verlassen-spd-gruene-linke \n\nArtikel | 3-Klassen-Medizin\nhttps://www.geldfuerdiewelt.de/p/drei-klassen-medizin \n\nPostproduktion: Florian Dick\nBild: IMAGO / HMB-Media\nOriginalvideo: https://www.youtube.com/watch?v=-JQzL0GC6Dc&t=142s\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Schulden: Kommt die Finanzkrise?\n(00:10:17) Linnemann kein Fan vom Staat\n(00:12:45) Subventionen streichen & beim Staat sparen\n(00:17:25) Steuererhöhung für Reiche?\n(00:21:06) Linnemann gegen Mehrwertsteuererhöhung\n(00:23:06) Fragenhagel\n(00:27:53) Linnemann will weniger Krankenkassen!\n(00:32:15) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#CDU #Haushalt #Rente", "Linnemann blamiert sich bei Maischberger! 🙈", "f765a741-4600-4e08-841c-c79c5d2d100f", false, 30, [], 1962, false, "wUtJcLi5q9A", "https://www.youtube.com/watch?v=wUtJcLi5q9A", 17, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051000 - Linnemann blamiert sich bei Maischberger! 🙈.mp4", false, false, 98, ~U[2026-05-10 14:01:30Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "CDU-Generalsekretär Carsten Linnemann bei Maischberger über den neuen Haushalt, die Rente und die Gesundheitsreform. \n\nArtikel | Erst X, dann die Schuldenbremse\nhttps://www.geldfuerdiewelt.de/p/erst-x-dann-die-schuldenbremse-verlassen-spd-gruene-linke \n\nArtikel | 3-Klassen-Medizin\nhttps://www.geldfuerdiewelt.de/p/drei-klassen-medizin \n\nPostproduktion: Florian Dick\nBild: IMAGO / HMB-Media\nOriginalvideo: https://www.youtube.com/watch?v=-JQzL0GC6Dc&t=142s\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Schulden: Kommt die Finanzkrise?\n(00:10:17) Linnemann kein Fan vom Staat\n(00:12:45) Subventionen streichen & beim Staat sparen\n(00:17:25) Steuererhöhung für Reiche?\n(00:21:06) Linnemann gegen Mehrwertsteuererhöhung\n(00:23:06) Fragenhagel\n(00:27:53) Linnemann will weniger Krankenkassen!\n(00:32:15) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#CDU #Haushalt #Rente", "Linnemann blamiert sich bei Maischberger! 🙈", 30, 1962, false, "wUtJcLi5q9A", "https://www.youtube.com/watch?v=wUtJcLi5q9A", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e051000 - Linnemann blamiert sich bei Maischberger! 🙈.mp4", false, ~U[2026-05-10 14:01:30Z]] 03:29:31.071 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.072 [debug] QUERY OK source="media_items" db=0.8ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 14:01:02Z], 30] 03:29:31.079 [debug] QUERY OK source="media_items" db=6.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Kanzler Merz im ZDF-Interview „Was nun?“ über die miese Wirtschaftslage, die kommenden Reformen und seine Pläne zur Einkommensteuer 🙈\n\nArtikel | Eine Milliarde weniger Wohngeld, irgendwie\nhttps://www.geldfuerdiewelt.de/p/eine-milliarde-weniger-wohngeld-irgendwie-spd-hubertz-klingbeil \n\nPostproduktion: Florian Dick\nBild: Was nun, …? / ZDF\nOriginalvideo: https://www.zdf.de/play/interviews/was-nun-102/was-nun-herr-merz-116\n\nInhalt:\n(00:00:00) Intro\n(00:00:47) ZDF völlig lost: Wirtschaft = Arbeitgeber?\n(00:09:04) Einkommensteuer & Soli: Reform mit Merz?\n(00:21:37) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #steuer #zdf", "Kanzler Merz verrät seinen wahren Steuerplan! 🤯", "bdfbfa7f-9b35-41c8-85c5-59bddbba575d", false, 30, [], 1318, false, "X7Xn_6TPzms", "https://www.youtube.com/watch?v=X7Xn_6TPzms", 18, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050800 - Kanzler Merz verrät seinen wahren Steuerplan! 🤯.mp4", false, false, 98, ~U[2026-05-08 14:01:02Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Kanzler Merz im ZDF-Interview „Was nun?“ über die miese Wirtschaftslage, die kommenden Reformen und seine Pläne zur Einkommensteuer 🙈\n\nArtikel | Eine Milliarde weniger Wohngeld, irgendwie\nhttps://www.geldfuerdiewelt.de/p/eine-milliarde-weniger-wohngeld-irgendwie-spd-hubertz-klingbeil \n\nPostproduktion: Florian Dick\nBild: Was nun, …? / ZDF\nOriginalvideo: https://www.zdf.de/play/interviews/was-nun-102/was-nun-herr-merz-116\n\nInhalt:\n(00:00:00) Intro\n(00:00:47) ZDF völlig lost: Wirtschaft = Arbeitgeber?\n(00:09:04) Einkommensteuer & Soli: Reform mit Merz?\n(00:21:37) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#merz #steuer #zdf", "Kanzler Merz verrät seinen wahren Steuerplan! 🤯", 30, 1318, false, "X7Xn_6TPzms", "https://www.youtube.com/watch?v=X7Xn_6TPzms", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050800 - Kanzler Merz verrät seinen wahren Steuerplan! 🤯.mp4", false, ~U[2026-05-08 14:01:02Z]] 03:29:31.079 [debug] QUERY OK source="sources" db=0.2ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.080 [debug] QUERY OK source="media_items" db=1.1ms idle=8.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 14:01:39Z], 30] 03:29:31.082 [debug] QUERY OK source="media_items" db=0.9ms idle=9.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Deutschland ist am Ende, lauten Titel und These des neuen Videos von Dinge erklärt - Kurzgesagt. Dieser Faktencheck zeigt: das Video ist keine neutrale Recherche, sondern billige Stimmungsmache. \n\nArtikel | Zu viele Rentner, zu wenig Kinder?\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nPostproduktion: Florian Dick\nBild: @KurzgesagtDE / YouTube\nOriginalvideo: https://youtu.be/jdBlpyCom3U?si=ZOe_qyOMFReX_TKH\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Framing\n(00:02:04) Der \"Bevölkerungskollaps\"\n(00:05:14) Rentenproblem: Alt gegen Jung\n(00:16:01) Problem: Staat, Einwanderung & Schulden?\n(00:25:36) Hilft Einwanderung Deutschland?\n(00:29:11) Fazit: \"Wir brauchen Reformen die wehtun\"\n(00:33:06) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#kurzgesagt #rente #deutschland", "Kurzgesagt DEBUNKED!", "5952a39f-8735-4c60-91a7-ca0e699f0985", false, 30, [], 2006, false, "xKGfdWVzKKk", "https://www.youtube.com/watch?v=xKGfdWVzKKk", 19, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050500 - Kurzgesagt DEBUNKED!.mp4", false, false, 98, ~U[2026-05-05 14:01:39Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Deutschland ist am Ende, lauten Titel und These des neuen Videos von Dinge erklärt - Kurzgesagt. Dieser Faktencheck zeigt: das Video ist keine neutrale Recherche, sondern billige Stimmungsmache. \n\nArtikel | Zu viele Rentner, zu wenig Kinder?\nhttps://www.geldfuerdiewelt.de/p/zu-viele-rentner-zu-wenig-kinder \n\nPostproduktion: Florian Dick\nBild: @KurzgesagtDE / YouTube\nOriginalvideo: https://youtu.be/jdBlpyCom3U?si=ZOe_qyOMFReX_TKH\n\nInhalt:\n(00:00:00) Intro\n(00:00:51) Framing\n(00:02:04) Der \"Bevölkerungskollaps\"\n(00:05:14) Rentenproblem: Alt gegen Jung\n(00:16:01) Problem: Staat, Einwanderung & Schulden?\n(00:25:36) Hilft Einwanderung Deutschland?\n(00:29:11) Fazit: \"Wir brauchen Reformen die wehtun\"\n(00:33:06) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#kurzgesagt #rente #deutschland", "Kurzgesagt DEBUNKED!", 30, 2006, false, "xKGfdWVzKKk", "https://www.youtube.com/watch?v=xKGfdWVzKKk", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050500 - Kurzgesagt DEBUNKED!.mp4", false, ~U[2026-05-05 14:01:39Z]] 03:29:31.082 [debug] QUERY OK source="sources" db=0.3ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.083 [debug] QUERY OK source="media_items" db=1.0ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 14:00:04Z], 30] 03:29:31.084 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Juso-Chef Philipp Türmer zu Gast in der neuen ZDF-Show bei Jan Fleischhauer, um über Ungleichheit zu debattieren.\n\nPostproduktion: Florian Dick\nBild: Keine Talkshow / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=Kbp5OZtVlWE\n\nInhalt:\n(00:00:00) Intro\n(00:01:26) Neiddebatte um Reiche?\n(00:09:15) Fleischhauer: Reiche haben ihr Geld erarbeitet\n(00:15:24) So will Türmer die Reichen besteuern…\n(00:25:21) Fleischhauer: SPD denkt nicht an Wirtschaftswachstum\n(00:26:39) Fleischhauer: Steuergeld versickert im Staat\n(00:32:42) \"Das Steuergeld muss reichen\"\n(00:36:04) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#zdf #fleischhauer #reiche", "Juso-Chef Türmer entlarvt rechten Journalisten!", "40505c11-8bad-4e3b-91f5-5e9e682d2adf", false, 30, [], 2183, false, "aiBbxbOIy9E", "https://www.youtube.com/watch?v=aiBbxbOIy9E", 20, "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050300 - Juso-Chef Türmer entlarvt rechten Journalisten!.mp4", false, false, 98, ~U[2026-05-03 14:00:04Z], ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], "Juso-Chef Philipp Türmer zu Gast in der neuen ZDF-Show bei Jan Fleischhauer, um über Ungleichheit zu debattieren.\n\nPostproduktion: Florian Dick\nBild: Keine Talkshow / ZDF\nOriginalvideo: https://www.youtube.com/watch?v=Kbp5OZtVlWE\n\nInhalt:\n(00:00:00) Intro\n(00:01:26) Neiddebatte um Reiche?\n(00:09:15) Fleischhauer: Reiche haben ihr Geld erarbeitet\n(00:15:24) So will Türmer die Reichen besteuern…\n(00:25:21) Fleischhauer: SPD denkt nicht an Wirtschaftswachstum\n(00:26:39) Fleischhauer: Steuergeld versickert im Staat\n(00:32:42) \"Das Steuergeld muss reichen\"\n(00:36:04) Outro\n\nNEWSLETTER \n✍️ Exklusive Analysen und Kommentare in Textform: https://www.geldfuerdiewelt.de/\n\nMEIN ONLINE KURS\n🎥MMT für Einsteiger: https://www.udemy.com/course/modern-monetary-theory-mmt-fuer-einsteiger/?referralCode=8ADD81153FF6AAB648BC\n\nMEINE BÜCHER \n📘 TEUER: Die Wahrheit über Inflation, ihre Profiteure und das Versagen der Politik\n📘 Der neue Wirtschaftskrieg \n📘 Mythos Geldknappheit\n\nSPENDEN\nYouTube-Videos zu produzieren ist viel Aufwand. Wenn Du den Kanal finanziell unterstützen möchtest, dann kannst Du das hier machen: \n🤝 https://steadyhq.com/de/geldfuerdiewelt-mauricehoefgen\n💳 https://www.paypal.com/paypalme/hoefgenmaurice\n... oder über eine Mitgliedschaft hier auf Youtube\n\nSOCIAL MEDIA\n📸 Instagram: https://www.instagram.com/mauricehoefgen/\n✍️ Newsletter: https://mauricehoefgen.substack.com/welcome\n🌏 Webseite: https://mauricehoefgen.com/\n\nÜBER MICH\nIch bin Maurice Höfgen, Ökonom, unabhängiger Publizist und Youtuber.\n\nÜBER GELD FÜR DIE WELT\nHier geht es um Wirtschaft, Geld und Politik. Neben Vorschlägen für eine progressive Politik gibt es immer wieder spannende Gäste und einen kritischen Blick auf Talkshows. Garantiert faktenlastig, aber unterhaltsam!\n\n#zdf #fleischhauer #reiche", "Juso-Chef Türmer entlarvt rechten Journalisten!", 30, 2183, false, "aiBbxbOIy9E", "https://www.youtube.com/watch?v=aiBbxbOIy9E", "/downloads/Geld für die Welt — Maurice Höfgen/Season 2026/s2026e050300 - Juso-Chef Türmer entlarvt rechten Journalisten!.mp4", false, ~U[2026-05-03 14:00:04Z]] 03:29:31.085 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z], 30] 03:29:31.086 [debug] QUERY OK source="media_items" db=1.1ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 03:29:31.088 [debug] QUERY OK source="tasks" db=0.1ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133792, 5202813, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.089 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133793, 5210486, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.090 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133794, 5225765, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.091 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133795, 5237339, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.092 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133796, 5252702, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.094 [info] {"args":{"id":5202813},"id":133792,"meta":{},"system_time":1785893371094359715,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:31.094 [info] {"args":{"id":5210486},"id":133793,"meta":{},"system_time":1785893371094400972,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:31.094 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5202813] 03:29:31.095 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:31.095 [debug] QUERY OK source="sources" db=0.3ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.095 [debug] QUERY OK source="media_items" db=2.6ms idle=1.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 03:29:31.095 [debug] QUERY OK source="media_items" db=0.8ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5210486] 03:29:31.095 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:31.095 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:31.095 [debug] QUERY OK source="media_items" db=0.3ms idle=0.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 03:29:31.095 [debug] QUERY OK source="sources" db=0.2ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:31.096 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Geld für die Welt — Maurice Höfgen. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no 03:29:31.096 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:31.096 [debug] QUERY OK source="media_items" db=0.7ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5202813] 03:29:31.096 [debug] QUERY OK source="media_items" db=0.3ms idle=0.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210486] 03:29:31.097 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5202813] 03:29:31.097 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:31.097 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5210486] 03:29:31.097 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:31.097 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:31.098 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:31.098 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.098 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jxuUguZFo5k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/b4/92b4a79aeaee369d25ab92162cb477fe41818520c26f8117b6fab6653a8523c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:31.098 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.099 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.099 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:31.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=W6uhrFStSbM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/80/1c80561100e6c884215280f0bcc1756fd3c79e95aead5c35a2e301a669d61bc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:31.408 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Geld für die Welt — Maurice Höfgen. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no exited: 0 with: 03:29:31.408 [info] Sent new media notification for source 30 03:29:31.410 [debug] QUERY OK source="tasks" db=0.2ms idle=311.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133797, 30, ~U[2026-08-05 01:29:31Z], ~U[2026-08-05 01:29:31Z]] 03:29:31.410 [info] {"args":{"id":30},"id":133296,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":20562714,"event":"job:stop","queue_time":524219,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:31.894 [debug] Current batch of media processed. Will check again in 1000ms 03:29:32.489 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=W6uhrFStSbM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/80/1c80561100e6c884215280f0bcc1756fd3c79e95aead5c35a2e301a669d61bc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] W6uhrFStSbM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] W6uhrFStSbM: Video unavailable. This video has been removed by the uploader 03:29:32.489 [error] yt-dlp download error for media item #5210486: "WARNING: [youtube] W6uhrFStSbM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] W6uhrFStSbM: Video unavailable. This video has been removed by the uploader\n" 03:29:32.489 [error] yt-dlp download will not be retried: "WARNING: [youtube] W6uhrFStSbM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] W6uhrFStSbM: Video unavailable. This video has been removed by the uploader\n" 03:29:32.490 [info] {"args":{"id":5210486},"id":133793,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1395211,"event":"job:stop","queue_time":93348,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:32.496 [info] {"args":{"id":5225765},"id":133794,"meta":{},"system_time":1785893372496117314,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:32.496 [debug] QUERY OK source="media_items" db=0.1ms idle=1085.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5225765] 03:29:32.496 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:32.496 [debug] QUERY OK source="sources" db=0.1ms idle=1079.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:32.497 [debug] QUERY OK source="media_profiles" db=0.2ms idle=629.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:32.497 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5225765] 03:29:32.504 [debug] QUERY OK source="media_metadata" db=0.0ms idle=8.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5225765] 03:29:32.504 [debug] QUERY OK source="media_profiles" db=0.0ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:32.505 [debug] QUERY OK source="settings" db=0.0ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:32.505 [debug] QUERY OK source="settings" db=0.0ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:32.505 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:32.506 [debug] QUERY OK source="settings" db=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:32.506 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:32.506 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:32.506 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hKqXFDd-aZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/1d/311d79d8b09eaf5fa2b23a4fb9535d53abba2c0df24ae900624f00c60764144d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:32.895 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finding the right ePaper device depends on whether you prioritize ultra-portability, digital note-taking, or paper-like reading in bright sunlight. As your ideal summer companion, BOOX devices are engineered to reduce eye strain compared to traditional smartphone and tablet LED displays.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#summer #epaper #eink #einktablet #colorepaper #epaper #eink #android #androidtablet #buyingguide #helpmechoose #noteair5c #palma2pro #go103 #go6 #boox\n***** \n00:00 Opening\n00:10 Palma 2 Pro\n00:35 Note Air5 C\n01:05 Go 10.3 (Gen II) Series\n01:54 Go 6 (Gen II)\n02:15 Wrap-up", "duration" => 143, "filename" => "/downloads/BOOX/Season 2026/s2026e073100 - BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity.mp4", "id" => "mvacYBW1M7w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mvacYBW1M7w", "playlist_index" => 1, "timestamp" => 1785495629, "title" => "BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity", "upload_date" => "20260731"} 03:29:32.895 [debug] QUERY OK source="sources" db=0.1ms idle=390.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:32.896 [debug] QUERY OK source="sources" db=0.0ms idle=389.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:32.897 [debug] QUERY OK source="media_items" db=0.6ms idle=389.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 11:00:29Z], 48] 03:29:32.907 [debug] QUERY OK source="media_items" db=9.9ms idle=390.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Finding the right ePaper device depends on whether you prioritize ultra-portability, digital note-taking, or paper-like reading in bright sunlight. As your ideal summer companion, BOOX devices are engineered to reduce eye strain compared to traditional smartphone and tablet LED displays.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#summer #epaper #eink #einktablet #colorepaper #epaper #eink #android #androidtablet #buyingguide #helpmechoose #noteair5c #palma2pro #go103 #go6 #boox\n***** \n00:00 Opening\n00:10 Palma 2 Pro\n00:35 Note Air5 C\n01:05 Go 10.3 (Gen II) Series\n01:54 Go 6 (Gen II)\n02:15 Wrap-up", "BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity", "4dfaccac-7dce-41fd-bd1a-26a7cf426760", false, 48, [], 143, false, "mvacYBW1M7w", "https://www.youtube.com/watch?v=mvacYBW1M7w", 1, "/downloads/BOOX/Season 2026/s2026e073100 - BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity.mp4", false, false, 98, ~U[2026-07-31 11:00:29Z], ~U[2026-08-05 01:29:32Z], ~U[2026-08-05 01:29:32Z], "Finding the right ePaper device depends on whether you prioritize ultra-portability, digital note-taking, or paper-like reading in bright sunlight. As your ideal summer companion, BOOX devices are engineered to reduce eye strain compared to traditional smartphone and tablet LED displays.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#summer #epaper #eink #einktablet #colorepaper #epaper #eink #android #androidtablet #buyingguide #helpmechoose #noteair5c #palma2pro #go103 #go6 #boox\n***** \n00:00 Opening\n00:10 Palma 2 Pro\n00:35 Note Air5 C\n01:05 Go 10.3 (Gen II) Series\n01:54 Go 6 (Gen II)\n02:15 Wrap-up", "BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity", 48, 143, false, "mvacYBW1M7w", "https://www.youtube.com/watch?v=mvacYBW1M7w", "/downloads/BOOX/Season 2026/s2026e073100 - BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity.mp4", false, ~U[2026-07-31 11:00:29Z]] 03:29:32.907 [debug] QUERY OK source="sources" db=0.1ms idle=39.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:32.908 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:32.908 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237286] 03:29:32.908 [info] Kicking off download for media item #5237286 (mvacYBW1M7w) 03:29:32.910 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133798, 5237286, ~U[2026-08-05 01:29:32Z], ~U[2026-08-05 01:29:32Z]] 03:29:32.910 [debug] Current batch of media processed. Will check again in 1000ms 03:29:33.265 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jxuUguZFo5k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/b4/92b4a79aeaee369d25ab92162cb477fe41818520c26f8117b6fab6653a8523c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] jxuUguZFo5k: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] jxuUguZFo5k: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:33.265 [error] yt-dlp download error for media item #5202813: "WARNING: [youtube] jxuUguZFo5k: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] jxuUguZFo5k: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:33.265 [error] yt-dlp download will not be retried: "WARNING: [youtube] jxuUguZFo5k: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] jxuUguZFo5k: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:33.291 [info] {"args":{"id":5202813},"id":133792,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2171491,"event":"job:stop","queue_time":93348,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:33.304 [info] {"args":{"id":5237339},"id":133795,"meta":{},"system_time":1785893373304288206,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:33.304 [debug] QUERY OK source="media_items" db=0.2ms idle=395.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5237339] 03:29:33.305 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:33.305 [debug] QUERY OK source="sources" db=0.2ms idle=395.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:33.305 [debug] QUERY OK source="media_profiles" db=0.1ms idle=395.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:33.306 [debug] QUERY OK source="media_items" db=0.2ms idle=14.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237339] 03:29:33.306 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5237339] 03:29:33.306 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:33.307 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:33.307 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:33.307 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:33.308 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:33.308 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:33.308 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:33.308 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lv1SYhbDlkM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/7b/b97b3ccec1d1d1d0c93080bc3020058015590f2cc5be7f64849dc404480c025c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:33.910 [debug] Current batch of media processed. Will check again in 1000ms 03:29:34.360 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hKqXFDd-aZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/1d/311d79d8b09eaf5fa2b23a4fb9535d53abba2c0df24ae900624f00c60764144d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] hKqXFDd-aZ0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] hKqXFDd-aZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:34.361 [error] yt-dlp download error for media item #5225765: "WARNING: [youtube] hKqXFDd-aZ0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] hKqXFDd-aZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:34.361 [error] yt-dlp download will not be retried: "WARNING: [youtube] hKqXFDd-aZ0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] hKqXFDd-aZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:34.361 [info] {"args":{"id":5225765},"id":133794,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1865051,"event":"job:stop","queue_time":1495377,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:34.368 [info] {"args":{"id":5252702},"id":133796,"meta":{},"system_time":1785893374368027543,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:34.368 [debug] QUERY OK source="media_items" db=0.1ms idle=1060.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5252702] 03:29:34.368 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:34.368 [debug] QUERY OK source="sources" db=0.1ms idle=1060.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 03:29:34.369 [debug] QUERY OK source="media_profiles" db=0.1ms idle=499.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:34.369 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5252702] 03:29:34.379 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5252702] 03:29:34.379 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:34.379 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:34.380 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:34.380 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:34.380 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:34.380 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:34.380 [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 [] 03:29:34.380 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DBGvjMiFFoc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/89/5b89672eb00e5f52b94156081b85ab3c1495435c9960a3d86bea724ca82de146.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:34.911 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Summer reading doesn’t have to be a daily fight. You can stop the “summer slide” and help kids actually want to read without the distractions of phones or tablets. See how a focus-first BOOX ePaper device lets kids borrow books with local library apps, annotate with NeoReader, and read anywhere (even in bright sun).\n\nWant a screen that helps your child stay focused and actually enjoy summer reading?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#SummerReading #ParentingTips #ReadingTips #KidsBooks #ePaper #BOOX #LibbyApp\n\n---\n00:00 - The summer slide problem \n00:00 - Make reading feel fun \n00:00 - Why tablets distract fast \n00:00 - Libby + NeoReader highlights \n00:00 - Read anywhere, stay focused", "duration" => 116, "filename" => "/downloads/BOOX/Season 2026/s2026e072400 - Make Summer Reading Easy | BOOX.mp4", "id" => "zcamwgwBgo0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zcamwgwBgo0", "playlist_index" => 2, "timestamp" => 1784861985, "title" => "Make Summer Reading Easy | BOOX", "upload_date" => "20260724"} 03:29:34.911 [debug] QUERY OK source="sources" db=0.1ms idle=531.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:34.912 [debug] QUERY OK source="sources" db=0.0ms idle=531.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:34.912 [debug] QUERY OK source="media_items" db=0.6ms idle=531.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 02:59:45Z], 48] 03:29:34.913 [debug] QUERY OK source="media_items" db=0.5ms idle=532.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Summer reading doesn’t have to be a daily fight. You can stop the “summer slide” and help kids actually want to read without the distractions of phones or tablets. See how a focus-first BOOX ePaper device lets kids borrow books with local library apps, annotate with NeoReader, and read anywhere (even in bright sun).\n\nWant a screen that helps your child stay focused and actually enjoy summer reading?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#SummerReading #ParentingTips #ReadingTips #KidsBooks #ePaper #BOOX #LibbyApp\n\n---\n00:00 - The summer slide problem \n00:00 - Make reading feel fun \n00:00 - Why tablets distract fast \n00:00 - Libby + NeoReader highlights \n00:00 - Read anywhere, stay focused", "Make Summer Reading Easy | BOOX", "ec439c53-7c3a-42bb-a505-f6d66b623339", false, 48, [], 116, false, "zcamwgwBgo0", "https://www.youtube.com/watch?v=zcamwgwBgo0", 2, "/downloads/BOOX/Season 2026/s2026e072400 - Make Summer Reading Easy | BOOX.mp4", false, false, 98, ~U[2026-07-24 02:59:45Z], ~U[2026-08-05 01:29:34Z], ~U[2026-08-05 01:29:34Z], "Summer reading doesn’t have to be a daily fight. You can stop the “summer slide” and help kids actually want to read without the distractions of phones or tablets. See how a focus-first BOOX ePaper device lets kids borrow books with local library apps, annotate with NeoReader, and read anywhere (even in bright sun).\n\nWant a screen that helps your child stay focused and actually enjoy summer reading?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#SummerReading #ParentingTips #ReadingTips #KidsBooks #ePaper #BOOX #LibbyApp\n\n---\n00:00 - The summer slide problem \n00:00 - Make reading feel fun \n00:00 - Why tablets distract fast \n00:00 - Libby + NeoReader highlights \n00:00 - Read anywhere, stay focused", "Make Summer Reading Easy | BOOX", 48, 116, false, "zcamwgwBgo0", "https://www.youtube.com/watch?v=zcamwgwBgo0", "/downloads/BOOX/Season 2026/s2026e072400 - Make Summer Reading Easy | BOOX.mp4", false, ~U[2026-07-24 02:59:45Z]] 03:29:34.913 [debug] QUERY OK source="sources" db=0.1ms idle=43.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:34.914 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:34.914 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210449] 03:29:34.914 [info] Kicking off download for media item #5210449 (zcamwgwBgo0) 03:29:34.916 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133799, 5210449, ~U[2026-08-05 01:29:34Z], ~U[2026-08-05 01:29:34Z]] 03:29:34.916 [debug] Current batch of media processed. Will check again in 1000ms 03:29:35.414 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lv1SYhbDlkM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/7b/b97b3ccec1d1d1d0c93080bc3020058015590f2cc5be7f64849dc404480c025c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] lv1SYhbDlkM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] lv1SYhbDlkM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:35.414 [error] yt-dlp download error for media item #5237339: "WARNING: [youtube] lv1SYhbDlkM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] lv1SYhbDlkM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:35.414 [error] yt-dlp download will not be retried: "WARNING: [youtube] lv1SYhbDlkM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] lv1SYhbDlkM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:35.414 [info] {"args":{"id":5237339},"id":133795,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2110246,"event":"job:stop","queue_time":2297375,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:35.421 [info] {"args":{"id":5237286},"id":133798,"meta":{},"system_time":1785893375420990815,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:35.421 [debug] QUERY OK source="media_items" db=0.1ms idle=505.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5237286] 03:29:35.421 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:35.421 [debug] QUERY OK source="sources" db=0.1ms idle=505.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:35.422 [debug] QUERY OK source="media_profiles" db=0.1ms idle=505.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:35.422 [debug] QUERY OK source="media_items" db=0.2ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237286] 03:29:35.432 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5237286] 03:29:35.432 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:35.432 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:35.432 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:35.432 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:35.433 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:35.433 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:35.433 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:35.433 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mvacYBW1M7w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/f4/faf418e4453c259b52e15d054ec01be64d84d7a8c93cf1b04f005428e66b7efb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:35.916 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Turn reading into real retention with NeoReader settings that remove tiny distractions and keep you locked in. Learn how to build comfortable themes, adjust layout for deeper focus, use split screen to read and take notes at once, and highlight with purpose, then quickly review and export your markups. Active reading gets simpler, faster, and more memorable.\n\nReady to upgrade your reading setup with a BOOX device built for deep focus?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx#BOOX \n\n#NeoReader #ActiveReading #EPaper #StudyTips #NoteTaking #Productivity\n00:00 - Why active reading fails\n00:00 - Build a comfortable theme\n00:00 - Split screen note workflow\n00:00 - Highlights & smart annotations\n00:00 - Review, export, sync markups", "duration" => 126, "filename" => "/downloads/BOOX/Season 2026/s2026e070900 - BOOX NeoReader Setup for Deep Focus Reading.mp4", "id" => "R9mLEW7oyDQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R9mLEW7oyDQ", "playlist_index" => 3, "timestamp" => 1783612801, "title" => "BOOX NeoReader Setup for Deep Focus Reading", "upload_date" => "20260709"} 03:29:35.916 [debug] QUERY OK source="sources" db=0.1ms idle=484.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:35.917 [debug] QUERY OK source="sources" db=0.0ms idle=484.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:35.918 [debug] QUERY OK source="media_items" db=0.6ms idle=484.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 16:00:01Z], 48] 03:29:35.928 [debug] QUERY OK source="media_items" db=9.7ms idle=485.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Turn reading into real retention with NeoReader settings that remove tiny distractions and keep you locked in. Learn how to build comfortable themes, adjust layout for deeper focus, use split screen to read and take notes at once, and highlight with purpose, then quickly review and export your markups. Active reading gets simpler, faster, and more memorable.\n\nReady to upgrade your reading setup with a BOOX device built for deep focus?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx#BOOX \n\n#NeoReader #ActiveReading #EPaper #StudyTips #NoteTaking #Productivity\n00:00 - Why active reading fails\n00:00 - Build a comfortable theme\n00:00 - Split screen note workflow\n00:00 - Highlights & smart annotations\n00:00 - Review, export, sync markups", "BOOX NeoReader Setup for Deep Focus Reading", "86872807-d671-496d-8fad-14b524c8cfaf", false, 48, [], 126, false, "R9mLEW7oyDQ", "https://www.youtube.com/watch?v=R9mLEW7oyDQ", 3, "/downloads/BOOX/Season 2026/s2026e070900 - BOOX NeoReader Setup for Deep Focus Reading.mp4", false, false, 98, ~U[2026-07-09 16:00:01Z], ~U[2026-08-05 01:29:35Z], ~U[2026-08-05 01:29:35Z], "Turn reading into real retention with NeoReader settings that remove tiny distractions and keep you locked in. Learn how to build comfortable themes, adjust layout for deeper focus, use split screen to read and take notes at once, and highlight with purpose, then quickly review and export your markups. Active reading gets simpler, faster, and more memorable.\n\nReady to upgrade your reading setup with a BOOX device built for deep focus?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx#BOOX \n\n#NeoReader #ActiveReading #EPaper #StudyTips #NoteTaking #Productivity\n00:00 - Why active reading fails\n00:00 - Build a comfortable theme\n00:00 - Split screen note workflow\n00:00 - Highlights & smart annotations\n00:00 - Review, export, sync markups", "BOOX NeoReader Setup for Deep Focus Reading", 48, 126, false, "R9mLEW7oyDQ", "https://www.youtube.com/watch?v=R9mLEW7oyDQ", "/downloads/BOOX/Season 2026/s2026e070900 - BOOX NeoReader Setup for Deep Focus Reading.mp4", false, ~U[2026-07-09 16:00:01Z]] 03:29:35.928 [debug] QUERY OK source="sources" db=0.1ms idle=57.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:35.928 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:35.929 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5152734] 03:29:35.929 [info] Kicking off download for media item #5152734 (R9mLEW7oyDQ) 03:29:35.930 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133800, 5152734, ~U[2026-08-05 01:29:35Z], ~U[2026-08-05 01:29:35Z]] 03:29:35.930 [debug] Current batch of media processed. Will check again in 1000ms 03:29:36.392 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DBGvjMiFFoc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/89/5b89672eb00e5f52b94156081b85ab3c1495435c9960a3d86bea724ca82de146.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] DBGvjMiFFoc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] DBGvjMiFFoc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:36.392 [error] yt-dlp download error for media item #5252702: "WARNING: [youtube] DBGvjMiFFoc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] DBGvjMiFFoc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:36.392 [error] yt-dlp download will not be retried: "WARNING: [youtube] DBGvjMiFFoc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] DBGvjMiFFoc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:36.393 [info] {"args":{"id":5252702},"id":133796,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2024842,"event":"job:stop","queue_time":3367374,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:36.398 [info] {"args":{"id":5210449},"id":133799,"meta":{},"system_time":1785893376398845185,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:36.399 [debug] QUERY OK source="media_items" db=0.1ms idle=468.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5210449] 03:29:36.399 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:36.399 [debug] QUERY OK source="sources" db=0.1ms idle=468.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:36.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=469.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:36.400 [debug] QUERY OK source="media_items" db=0.2ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210449] 03:29:36.410 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5210449] 03:29:36.410 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:36.410 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:36.410 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:36.411 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:36.411 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:36.411 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:36.411 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:36.411 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zcamwgwBgo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/66/b666a4f6871660262c3e47413099ecb126b14108129741727bd28317b6bbd982.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:36.931 [debug] Current batch of media processed. Will check again in 1000ms 03:29:37.494 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mvacYBW1M7w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/f4/faf418e4453c259b52e15d054ec01be64d84d7a8c93cf1b04f005428e66b7efb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:37.494 [error] yt-dlp download error for media item #5237286: "WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:37.494 [error] yt-dlp download will not be retried: "WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:37.494 [info] {"args":{"id":5237286},"id":133798,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2073676,"event":"job:stop","queue_time":3420373,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:37.501 [info] {"args":{"id":5152734},"id":133800,"meta":{},"system_time":1785893377500960104,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:37.501 [debug] QUERY OK source="media_items" db=0.1ms idle=1089.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5152734] 03:29:37.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:37.501 [debug] QUERY OK source="sources" db=0.1ms idle=1089.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:37.501 [debug] QUERY OK source="media_profiles" db=0.1ms idle=629.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:37.502 [debug] QUERY OK source="media_items" db=0.2ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5152734] 03:29:37.512 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5152734] 03:29:37.512 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:37.512 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:37.512 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:37.512 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:37.513 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:37.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:37.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:37.513 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R9mLEW7oyDQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/da/46dafc2671fcda790ef7da07aca1c8fd1546317dcb6ba8cac9a254ce62e9a4e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:37.932 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ever finish an amazing book… then freeze on what to read next? This quick 10-minute system beats decision fatigue and keeps your reading streak alive. Build an “Always-Next Queue,” use lighter bridge reads between big books, and make starting ridiculously easy using just 10 minutes. Plus, organize and track everything smoothly on BOOX.\nWant a reading setup that makes it easier to choose, start, and stick with your next book?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #booktok #bookstagram #productivity #ereader #boox #habits \n00:00 - The “Next Book” Freeze \n00:25 - Decision Fatigue Explained \n00:45 - Build an Always-Next Queue \n01:20 - Use Bridge Reads Strategically \n02:05 - Make Starting Effortless", "duration" => 134, "filename" => "/downloads/BOOX/Season 2026/s2026e070100 - The Fix to the Next Book Problem.mp4", "id" => "cNbxIuB3uVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cNbxIuB3uVY", "playlist_index" => 4, "timestamp" => 1782914403, "title" => "The Fix to the Next Book Problem", "upload_date" => "20260701"} 03:29:37.932 [debug] QUERY OK source="sources" db=0.2ms idle=419.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:37.933 [debug] QUERY OK source="sources" db=0.1ms idle=419.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:37.934 [debug] QUERY OK source="media_items" db=0.6ms idle=420.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-01 14:00:03Z], 48] 03:29:37.944 [debug] QUERY OK source="media_items" db=9.8ms idle=420.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ever finish an amazing book… then freeze on what to read next? This quick 10-minute system beats decision fatigue and keeps your reading streak alive. Build an “Always-Next Queue,” use lighter bridge reads between big books, and make starting ridiculously easy using just 10 minutes. Plus, organize and track everything smoothly on BOOX.\nWant a reading setup that makes it easier to choose, start, and stick with your next book?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #booktok #bookstagram #productivity #ereader #boox #habits \n00:00 - The “Next Book” Freeze \n00:25 - Decision Fatigue Explained \n00:45 - Build an Always-Next Queue \n01:20 - Use Bridge Reads Strategically \n02:05 - Make Starting Effortless", "The Fix to the Next Book Problem", "ed573576-99f7-4052-a091-09f0fc40b0d9", false, 48, [], 134, false, "cNbxIuB3uVY", "https://www.youtube.com/watch?v=cNbxIuB3uVY", 4, "/downloads/BOOX/Season 2026/s2026e070100 - The Fix to the Next Book Problem.mp4", false, false, 98, ~U[2026-07-01 14:00:03Z], ~U[2026-08-05 01:29:37Z], ~U[2026-08-05 01:29:37Z], "Ever finish an amazing book… then freeze on what to read next? This quick 10-minute system beats decision fatigue and keeps your reading streak alive. Build an “Always-Next Queue,” use lighter bridge reads between big books, and make starting ridiculously easy using just 10 minutes. Plus, organize and track everything smoothly on BOOX.\nWant a reading setup that makes it easier to choose, start, and stick with your next book?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #booktok #bookstagram #productivity #ereader #boox #habits \n00:00 - The “Next Book” Freeze \n00:25 - Decision Fatigue Explained \n00:45 - Build an Always-Next Queue \n01:20 - Use Bridge Reads Strategically \n02:05 - Make Starting Effortless", "The Fix to the Next Book Problem", 48, 134, false, "cNbxIuB3uVY", "https://www.youtube.com/watch?v=cNbxIuB3uVY", "/downloads/BOOX/Season 2026/s2026e070100 - The Fix to the Next Book Problem.mp4", false, ~U[2026-07-01 14:00:03Z]] 03:29:37.944 [debug] QUERY OK source="sources" db=0.2ms idle=71.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:37.945 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:37.945 [debug] QUERY OK source="media_items" db=0.2ms idle=12.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5124728] 03:29:37.945 [debug] Current batch of media processed. Will check again in 1000ms 03:29:38.303 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zcamwgwBgo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/66/b666a4f6871660262c3e47413099ecb126b14108129741727bd28317b6bbd982.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:38.303 [error] yt-dlp download error for media item #5210449: "WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:38.303 [error] yt-dlp download will not be retried: "WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:38.304 [info] {"args":{"id":5210449},"id":133799,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1904856,"event":"job:stop","queue_time":2398303,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:38.946 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stop losing your commute to doomscrolling. This simple “default swap” turns dead time into real progress: read distraction-free on an ePaper device, plan your day, and capture ideas without endless feeds or notifications. Plus, load PDFs, articles, or language apps to learn on the go and arrive already ahead.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ePaper #Productivity #CommuteHacks #DigitalMinimalism #Reading #dailyplanning \n\n---\n00:21 - Why commutes get wasted \n00:34 - Swap the default behavior \n00:48 - Read without distractions \n01:08 - Plan and capture ideas \n01:17 - Learn with apps and PDFs \n01:33 - Quick wins before work", "duration" => 120, "filename" => "/downloads/BOOX/Season 2026/s2026e062300 - Replacing Doomscrolling with BOOX.mp4", "id" => "vIJ-YoZgRQM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vIJ-YoZgRQM", "playlist_index" => 5, "timestamp" => 1782229507, "title" => "Replacing Doomscrolling with BOOX", "upload_date" => "20260623"} 03:29:38.947 [debug] QUERY OK source="sources" db=0.2ms idle=1000.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:38.947 [debug] QUERY OK source="sources" db=0.1ms idle=642.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:38.948 [debug] QUERY OK source="media_items" db=1.0ms idle=636.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 15:45:07Z], 48] 03:29:38.958 [debug] QUERY OK source="media_items" db=10.0ms idle=74.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stop losing your commute to doomscrolling. This simple “default swap” turns dead time into real progress: read distraction-free on an ePaper device, plan your day, and capture ideas without endless feeds or notifications. Plus, load PDFs, articles, or language apps to learn on the go and arrive already ahead.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ePaper #Productivity #CommuteHacks #DigitalMinimalism #Reading #dailyplanning \n\n---\n00:21 - Why commutes get wasted \n00:34 - Swap the default behavior \n00:48 - Read without distractions \n01:08 - Plan and capture ideas \n01:17 - Learn with apps and PDFs \n01:33 - Quick wins before work", "Replacing Doomscrolling with BOOX", "b411ba82-4e8c-4b95-8a24-372e6e8c2fab", false, 48, [], 120, false, "vIJ-YoZgRQM", "https://www.youtube.com/watch?v=vIJ-YoZgRQM", 5, "/downloads/BOOX/Season 2026/s2026e062300 - Replacing Doomscrolling with BOOX.mp4", false, false, 98, ~U[2026-06-23 15:45:07Z], ~U[2026-08-05 01:29:38Z], ~U[2026-08-05 01:29:38Z], "Stop losing your commute to doomscrolling. This simple “default swap” turns dead time into real progress: read distraction-free on an ePaper device, plan your day, and capture ideas without endless feeds or notifications. Plus, load PDFs, articles, or language apps to learn on the go and arrive already ahead.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ePaper #Productivity #CommuteHacks #DigitalMinimalism #Reading #dailyplanning \n\n---\n00:21 - Why commutes get wasted \n00:34 - Swap the default behavior \n00:48 - Read without distractions \n01:08 - Plan and capture ideas \n01:17 - Learn with apps and PDFs \n01:33 - Quick wins before work", "Replacing Doomscrolling with BOOX", 48, 120, false, "vIJ-YoZgRQM", "https://www.youtube.com/watch?v=vIJ-YoZgRQM", "/downloads/BOOX/Season 2026/s2026e062300 - Replacing Doomscrolling with BOOX.mp4", false, ~U[2026-06-23 15:45:07Z]] 03:29:38.959 [debug] QUERY OK source="sources" db=0.1ms idle=79.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:38.959 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:38.959 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5098733] 03:29:38.959 [debug] Current batch of media processed. Will check again in 1000ms 03:29:39.447 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R9mLEW7oyDQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/da/46dafc2671fcda790ef7da07aca1c8fd1546317dcb6ba8cac9a254ce62e9a4e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:39.447 [error] yt-dlp download error for media item #5152734: "WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:39.447 [error] yt-dlp download will not be retried: "WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:39.447 [info] {"args":{"id":5152734},"id":133800,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1946477,"event":"job:stop","queue_time":2500312,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:39.960 [debug] Current batch of media processed. Will check again in 1000ms 03:29:40.961 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can't decide which 10.3-inch BOOX tablet to be your new daily driver? In this video, we compare the Go 10.3 (Gen II), Go 10.3 (Gen II) Lumi, and Note Air5 C. Discover the differences between monochrome and color ePaper with and without front light options, and to figure out which one aligns with your needs, including reading, note-taking, and a nomadic lifestyle.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#productivity #digitalnotebook #android #epaper #tablet #boox #noteair5c #go103 \n**\n00:00 Opening\n00:11 Go 10.3 (Gen II) Series\n00:30 Go 10.3 (Gen II)\n00:46 Go 10.3 (Gen II) Lumi\n01:07 Sleek Design & Battery\n01:24 Nomadic Setup & Android Flexibility\n01:38 64GB Storage & 26+ Digital Formats\n01:46 Customizable Reading Settings\n01:53 Supports InkSense Plus Stylus\n02:17 Writing Tools within Notes App\n02:39 Note Air5 C\n02:54 Exclusive Smooth Refresh Mode\n03:09 Supports Keyboard Cover for Typing Needs\n03:13 Wrap-up", "duration" => 203, "filename" => "/downloads/BOOX/Season 2026/s2026e061700 - BOOX 10.3" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options.mp4", "id" => "M-iL42NFgBU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M-iL42NFgBU", "playlist_index" => 6, "timestamp" => 1781694022, "title" => "BOOX 10.3\" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options", "upload_date" => "20260617"} 03:29:40.961 [debug] QUERY OK source="sources" db=0.2ms idle=186.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:40.962 [debug] QUERY OK source="sources" db=0.1ms idle=186.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:40.963 [debug] QUERY OK source="media_items" db=0.6ms idle=186.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 11:00:22Z], 48] 03:29:40.973 [debug] QUERY OK source="media_items" db=10.0ms idle=87.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can't decide which 10.3-inch BOOX tablet to be your new daily driver? In this video, we compare the Go 10.3 (Gen II), Go 10.3 (Gen II) Lumi, and Note Air5 C. Discover the differences between monochrome and color ePaper with and without front light options, and to figure out which one aligns with your needs, including reading, note-taking, and a nomadic lifestyle.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#productivity #digitalnotebook #android #epaper #tablet #boox #noteair5c #go103 \n**\n00:00 Opening\n00:11 Go 10.3 (Gen II) Series\n00:30 Go 10.3 (Gen II)\n00:46 Go 10.3 (Gen II) Lumi\n01:07 Sleek Design & Battery\n01:24 Nomadic Setup & Android Flexibility\n01:38 64GB Storage & 26+ Digital Formats\n01:46 Customizable Reading Settings\n01:53 Supports InkSense Plus Stylus\n02:17 Writing Tools within Notes App\n02:39 Note Air5 C\n02:54 Exclusive Smooth Refresh Mode\n03:09 Supports Keyboard Cover for Typing Needs\n03:13 Wrap-up", "BOOX 10.3\" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options", "9d85e766-866a-429d-8a9f-67c1d779cf2b", false, 48, [], 203, false, "M-iL42NFgBU", "https://www.youtube.com/watch?v=M-iL42NFgBU", 6, "/downloads/BOOX/Season 2026/s2026e061700 - BOOX 10.3" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options.mp4", false, false, 98, ~U[2026-06-17 11:00:22Z], ~U[2026-08-05 01:29:40Z], ~U[2026-08-05 01:29:40Z], "Can't decide which 10.3-inch BOOX tablet to be your new daily driver? In this video, we compare the Go 10.3 (Gen II), Go 10.3 (Gen II) Lumi, and Note Air5 C. Discover the differences between monochrome and color ePaper with and without front light options, and to figure out which one aligns with your needs, including reading, note-taking, and a nomadic lifestyle.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#productivity #digitalnotebook #android #epaper #tablet #boox #noteair5c #go103 \n**\n00:00 Opening\n00:11 Go 10.3 (Gen II) Series\n00:30 Go 10.3 (Gen II)\n00:46 Go 10.3 (Gen II) Lumi\n01:07 Sleek Design & Battery\n01:24 Nomadic Setup & Android Flexibility\n01:38 64GB Storage & 26+ Digital Formats\n01:46 Customizable Reading Settings\n01:53 Supports InkSense Plus Stylus\n02:17 Writing Tools within Notes App\n02:39 Note Air5 C\n02:54 Exclusive Smooth Refresh Mode\n03:09 Supports Keyboard Cover for Typing Needs\n03:13 Wrap-up", "BOOX 10.3\" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options", 48, 203, false, "M-iL42NFgBU", "https://www.youtube.com/watch?v=M-iL42NFgBU", "/downloads/BOOX/Season 2026/s2026e061700 - BOOX 10.3" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options.mp4", false, ~U[2026-06-17 11:00:22Z]] 03:29:40.973 [debug] QUERY OK source="sources" db=0.1ms idle=91.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:40.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:40.974 [debug] QUERY OK source="media_items" db=0.1ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5079189] 03:29:40.974 [debug] Current batch of media processed. Will check again in 1000ms 03:29:41.975 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet the BOOX Go 6 (Gen II): a 160g, 6.8mm ePaper device built for the in-between moments. It's a travel gadget, a daily sidekick, and a library you can take with you anywhere. Its suitcase-textured back ensures a secure grip, while the sharp 300 PPI screen stays clear in sun with adjustable front light. No matter where your life takes you, the Go 6 (Gen II) is designed to give you the freedom to go. \n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #Go6 #ePaper #EInk #AndroidTablet #ReadingOnTheGo #TechGadgets\n\n---\n00:17 - The brand new Go 6 (Gen II) \n00:26 - Grip texture design\n00:34 - Ultra-portable build\n01:05 - The reading experience\n01:26 - Writing and notes\n01:35 - Google Play Store\n01:44 - Storage and formats\n01:59 - Overview", "duration" => 157, "filename" => "/downloads/BOOX/Season 2026/s2026e061200 - Pocket ePaper Made for Everywhere.mp4", "id" => "gkwOtbh646k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gkwOtbh646k", "playlist_index" => 7, "timestamp" => 1781233861, "title" => "Pocket ePaper Made for Everywhere", "upload_date" => "20260612"} 03:29:41.975 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:41.976 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:41.976 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 03:11:01Z], 48] 03:29:41.987 [debug] QUERY OK source="media_items" db=9.8ms idle=100.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet the BOOX Go 6 (Gen II): a 160g, 6.8mm ePaper device built for the in-between moments. It's a travel gadget, a daily sidekick, and a library you can take with you anywhere. Its suitcase-textured back ensures a secure grip, while the sharp 300 PPI screen stays clear in sun with adjustable front light. No matter where your life takes you, the Go 6 (Gen II) is designed to give you the freedom to go. \n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #Go6 #ePaper #EInk #AndroidTablet #ReadingOnTheGo #TechGadgets\n\n---\n00:17 - The brand new Go 6 (Gen II) \n00:26 - Grip texture design\n00:34 - Ultra-portable build\n01:05 - The reading experience\n01:26 - Writing and notes\n01:35 - Google Play Store\n01:44 - Storage and formats\n01:59 - Overview", "Pocket ePaper Made for Everywhere", "ad81db8a-bfa7-4e96-8ce7-a53026cdc465", false, 48, [], 157, false, "gkwOtbh646k", "https://www.youtube.com/watch?v=gkwOtbh646k", 7, "/downloads/BOOX/Season 2026/s2026e061200 - Pocket ePaper Made for Everywhere.mp4", false, false, 98, ~U[2026-06-12 03:11:01Z], ~U[2026-08-05 01:29:41Z], ~U[2026-08-05 01:29:41Z], "Meet the BOOX Go 6 (Gen II): a 160g, 6.8mm ePaper device built for the in-between moments. It's a travel gadget, a daily sidekick, and a library you can take with you anywhere. Its suitcase-textured back ensures a secure grip, while the sharp 300 PPI screen stays clear in sun with adjustable front light. No matter where your life takes you, the Go 6 (Gen II) is designed to give you the freedom to go. \n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #Go6 #ePaper #EInk #AndroidTablet #ReadingOnTheGo #TechGadgets\n\n---\n00:17 - The brand new Go 6 (Gen II) \n00:26 - Grip texture design\n00:34 - Ultra-portable build\n01:05 - The reading experience\n01:26 - Writing and notes\n01:35 - Google Play Store\n01:44 - Storage and formats\n01:59 - Overview", "Pocket ePaper Made for Everywhere", 48, 157, false, "gkwOtbh646k", "https://www.youtube.com/watch?v=gkwOtbh646k", "/downloads/BOOX/Season 2026/s2026e061200 - Pocket ePaper Made for Everywhere.mp4", false, ~U[2026-06-12 03:11:01Z]] 03:29:41.987 [debug] QUERY OK source="sources" db=0.1ms idle=104.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:41.987 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:41.988 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5062957] 03:29:41.988 [debug] Current batch of media processed. Will check again in 1000ms 03:29:42.988 [debug] Current batch of media processed. Will check again in 1000ms 03:29:43.989 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Learn how to optimize third-party apps on your BOOX ePaper device. In this tutorial, we walk through Refresh, Display, Color, and Others settings to help you improve readability, speed up performance, and customize apps downloaded from the Google Play Store for a more personalized ePaper experience.\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #tutorial #epaper #thirdpartyapp #settings #android #noteair5c \n** \n00:00 Opening\n00:04 Third-party Apps Optimization\n00:18 Refresh Tab\n00:55 Display Tab \n01:26 Color Tab\n01:36 Others Tab\n02:17 Wrap-up", "duration" => 151, "filename" => "/downloads/BOOX/Season 2026/s2026e061100 - Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20.mp4", "id" => "wrpKKFkziyk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wrpKKFkziyk", "playlist_index" => 8, "timestamp" => 1781175608, "title" => "Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20", "upload_date" => "20260611"} 03:29:43.989 [debug] QUERY OK source="sources" db=0.1ms idle=214.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:43.990 [debug] QUERY OK source="sources" db=0.1ms idle=214.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:43.991 [debug] QUERY OK source="media_items" db=0.9ms idle=214.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 11:00:08Z], 48] 03:29:44.001 [debug] QUERY OK source="media_items" db=10.2ms idle=111.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Learn how to optimize third-party apps on your BOOX ePaper device. In this tutorial, we walk through Refresh, Display, Color, and Others settings to help you improve readability, speed up performance, and customize apps downloaded from the Google Play Store for a more personalized ePaper experience.\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #tutorial #epaper #thirdpartyapp #settings #android #noteair5c \n** \n00:00 Opening\n00:04 Third-party Apps Optimization\n00:18 Refresh Tab\n00:55 Display Tab \n01:26 Color Tab\n01:36 Others Tab\n02:17 Wrap-up", "Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20", "52c0ed54-cd1f-494f-b36e-29b4c3cc4446", false, 48, [], 151, false, "wrpKKFkziyk", "https://www.youtube.com/watch?v=wrpKKFkziyk", 8, "/downloads/BOOX/Season 2026/s2026e061100 - Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20.mp4", false, false, 98, ~U[2026-06-11 11:00:08Z], ~U[2026-08-05 01:29:43Z], ~U[2026-08-05 01:29:43Z], "Learn how to optimize third-party apps on your BOOX ePaper device. In this tutorial, we walk through Refresh, Display, Color, and Others settings to help you improve readability, speed up performance, and customize apps downloaded from the Google Play Store for a more personalized ePaper experience.\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #tutorial #epaper #thirdpartyapp #settings #android #noteair5c \n** \n00:00 Opening\n00:04 Third-party Apps Optimization\n00:18 Refresh Tab\n00:55 Display Tab \n01:26 Color Tab\n01:36 Others Tab\n02:17 Wrap-up", "Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20", 48, 151, false, "wrpKKFkziyk", "https://www.youtube.com/watch?v=wrpKKFkziyk", "/downloads/BOOX/Season 2026/s2026e061100 - Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20.mp4", false, ~U[2026-06-11 11:00:08Z]] 03:29:44.002 [debug] QUERY OK source="sources" db=0.2ms idle=116.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:44.002 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:44.003 [debug] QUERY OK source="media_items" db=0.1ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5059694] 03:29:44.003 [debug] Current batch of media processed. Will check again in 1000ms 03:29:45.004 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "BOOX Go 6 (Gen II) is the new 6\" ePaper reader designed for life on the move. It features a 300 PPI monochrome ePaper display, 3GB+32GB of storage, microSD card slot, and a refreshed design inspired by a traveler's suitcase, available in four colors.\n\nRunning on an open Android OS with the Google Play Store built in, it gives you the freedom to download your favorite apps. When paired with the BOOX InkSense Plus stylus, it transforms into a pocket jotter for writing and doodling in the moment. Small enough to take everywhere, yet big enough to hold everything you need on the road, this eReader is built to be your everyday carry and travel companion.\n\nThe standard bundle includes:\nBOOX Go 6 (Gen II) x 1\nUSB-C Cable x 1\nCard Tray Eject Tool x 1\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today to get a free magnetic protective cover in our official shop.\nhttps://shop.boox.com/products/go6gen2\nBOOX InkSense Plus is available at:\nhttps://shop.boox.com/collections/accessories/products/boox-inksense-plus-stylus\nThe Matte TPU Case is available at:\nhttps://shop.boox.com/collections/accessories/products/go6gen2-tpu-case\n\n📝 If you have any questions about this device, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxgo6 #unboxing #boox #newproduct #go6gen2 #ereader #epaper", "duration" => 57, "filename" => "/downloads/BOOX/Season 2026/s2026e060900 - BOOX Go 6 (Gen II) Official Unboxing.mp4", "id" => "wALLcs2qkrI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wALLcs2qkrI", "playlist_index" => 9, "timestamp" => 1780972746, "title" => "BOOX Go 6 (Gen II) Official Unboxing", "upload_date" => "20260609"} 03:29:45.004 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:45.005 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:45.005 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-09 02:39:06Z], 48] 03:29:45.016 [debug] QUERY OK source="media_items" db=9.8ms idle=124.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["BOOX Go 6 (Gen II) is the new 6\" ePaper reader designed for life on the move. It features a 300 PPI monochrome ePaper display, 3GB+32GB of storage, microSD card slot, and a refreshed design inspired by a traveler's suitcase, available in four colors.\n\nRunning on an open Android OS with the Google Play Store built in, it gives you the freedom to download your favorite apps. When paired with the BOOX InkSense Plus stylus, it transforms into a pocket jotter for writing and doodling in the moment. Small enough to take everywhere, yet big enough to hold everything you need on the road, this eReader is built to be your everyday carry and travel companion.\n\nThe standard bundle includes:\nBOOX Go 6 (Gen II) x 1\nUSB-C Cable x 1\nCard Tray Eject Tool x 1\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today to get a free magnetic protective cover in our official shop.\nhttps://shop.boox.com/products/go6gen2\nBOOX InkSense Plus is available at:\nhttps://shop.boox.com/collections/accessories/products/boox-inksense-plus-stylus\nThe Matte TPU Case is available at:\nhttps://shop.boox.com/collections/accessories/products/go6gen2-tpu-case\n\n📝 If you have any questions about this device, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxgo6 #unboxing #boox #newproduct #go6gen2 #ereader #epaper", "BOOX Go 6 (Gen II) Official Unboxing", "3472b5bc-af9f-4862-95ff-f728edaecedb", false, 48, [], 57, false, "wALLcs2qkrI", "https://www.youtube.com/watch?v=wALLcs2qkrI", 9, "/downloads/BOOX/Season 2026/s2026e060900 - BOOX Go 6 (Gen II) Official Unboxing.mp4", false, false, 97, ~U[2026-06-09 02:39:06Z], ~U[2026-08-05 01:29:45Z], ~U[2026-08-05 01:29:45Z], "BOOX Go 6 (Gen II) is the new 6\" ePaper reader designed for life on the move. It features a 300 PPI monochrome ePaper display, 3GB+32GB of storage, microSD card slot, and a refreshed design inspired by a traveler's suitcase, available in four colors.\n\nRunning on an open Android OS with the Google Play Store built in, it gives you the freedom to download your favorite apps. When paired with the BOOX InkSense Plus stylus, it transforms into a pocket jotter for writing and doodling in the moment. Small enough to take everywhere, yet big enough to hold everything you need on the road, this eReader is built to be your everyday carry and travel companion.\n\nThe standard bundle includes:\nBOOX Go 6 (Gen II) x 1\nUSB-C Cable x 1\nCard Tray Eject Tool x 1\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today to get a free magnetic protective cover in our official shop.\nhttps://shop.boox.com/products/go6gen2\nBOOX InkSense Plus is available at:\nhttps://shop.boox.com/collections/accessories/products/boox-inksense-plus-stylus\nThe Matte TPU Case is available at:\nhttps://shop.boox.com/collections/accessories/products/go6gen2-tpu-case\n\n📝 If you have any questions about this device, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxgo6 #unboxing #boox #newproduct #go6gen2 #ereader #epaper", "BOOX Go 6 (Gen II) Official Unboxing", 48, 57, false, "wALLcs2qkrI", "https://www.youtube.com/watch?v=wALLcs2qkrI", "/downloads/BOOX/Season 2026/s2026e060900 - BOOX Go 6 (Gen II) Official Unboxing.mp4", false, ~U[2026-06-09 02:39:06Z]] 03:29:45.016 [debug] QUERY OK source="sources" db=0.2ms idle=129.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:45.016 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:45.017 [debug] QUERY OK source="media_items" db=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5052226] 03:29:45.017 [debug] Current batch of media processed. Will check again in 1000ms 03:29:46.017 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Forget messy meeting notes you never revisit. This simple template turns any discussion into clear next steps. It’s the fastest way to stop “What did we agree on?” and start moving forward. Which BOOX device are you considering for distraction-free note-taking?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/ \n\n#meetingnotes #studyhack #notetaking #actionitems #worksmart #boox \n \n00:11 - The note to save your week\n00:23 - Record your meetings\n00:32 - Capture key points\n00:50 - Track decisions \n01:12 - Questions and Action items \n01:23 - Shortcut items to your calendar \n01:30 - Sync to your other calendars", "duration" => 116, "filename" => "/downloads/BOOX/Season 2026/s2026e052100 - BOOX + Recording = Notes You’ll Actually Use.mp4", "id" => "9AEax3hPb54", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9AEax3hPb54", "playlist_index" => 10, "timestamp" => 1779372016, "title" => "BOOX + Recording = Notes You’ll Actually Use", "upload_date" => "20260521"} 03:29:46.017 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:46.018 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:46.018 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 14:00:16Z], 48] 03:29:46.028 [debug] QUERY OK source="media_items" db=9.7ms idle=136.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Forget messy meeting notes you never revisit. This simple template turns any discussion into clear next steps. It’s the fastest way to stop “What did we agree on?” and start moving forward. Which BOOX device are you considering for distraction-free note-taking?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/ \n\n#meetingnotes #studyhack #notetaking #actionitems #worksmart #boox \n \n00:11 - The note to save your week\n00:23 - Record your meetings\n00:32 - Capture key points\n00:50 - Track decisions \n01:12 - Questions and Action items \n01:23 - Shortcut items to your calendar \n01:30 - Sync to your other calendars", "BOOX + Recording = Notes You’ll Actually Use", "713dc016-1201-4d35-9378-5b1cba7cfce5", false, 48, [], 116, false, "9AEax3hPb54", "https://www.youtube.com/watch?v=9AEax3hPb54", 10, "/downloads/BOOX/Season 2026/s2026e052100 - BOOX + Recording = Notes You’ll Actually Use.mp4", false, false, 98, ~U[2026-05-21 14:00:16Z], ~U[2026-08-05 01:29:46Z], ~U[2026-08-05 01:29:46Z], "Forget messy meeting notes you never revisit. This simple template turns any discussion into clear next steps. It’s the fastest way to stop “What did we agree on?” and start moving forward. Which BOOX device are you considering for distraction-free note-taking?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/ \n\n#meetingnotes #studyhack #notetaking #actionitems #worksmart #boox \n \n00:11 - The note to save your week\n00:23 - Record your meetings\n00:32 - Capture key points\n00:50 - Track decisions \n01:12 - Questions and Action items \n01:23 - Shortcut items to your calendar \n01:30 - Sync to your other calendars", "BOOX + Recording = Notes You’ll Actually Use", 48, 116, false, "9AEax3hPb54", "https://www.youtube.com/watch?v=9AEax3hPb54", "/downloads/BOOX/Season 2026/s2026e052100 - BOOX + Recording = Notes You’ll Actually Use.mp4", false, ~U[2026-05-21 14:00:16Z]] 03:29:46.029 [debug] QUERY OK source="sources" db=0.1ms idle=141.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:46.029 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:46.029 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4981877] 03:29:46.029 [debug] Current batch of media processed. Will check again in 1000ms 03:29:46.812 [info] {"source":"oban","duration":2873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:47.030 [debug] Current batch of media processed. Will check again in 1000ms 03:29:47.892 [info] {"args":{"id":38},"id":133307,"meta":{},"system_time":1785893387892785621,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:47.893 [debug] QUERY OK source="sources" db=0.0ms idle=117.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:47.893 [debug] QUERY OK source="settings" db=0.1ms idle=117.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.907 [debug] QUERY OK source="media_items" db=14.0ms idle=8.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [38] 03:29:47.907 [debug] QUERY OK source="media_items" db=0.2ms idle=15.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [38] 03:29:47.907 [debug] QUERY OK source="media_profiles" db=0.0ms idle=15.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:47.908 [debug] QUERY OK source="settings" db=0.0ms idle=15.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.908 [debug] QUERY OK source="settings" db=0.0ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.909 [debug] QUERY OK source="media_items" db=0.5ms idle=1.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [38] 03:29:47.910 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:29:47.910 [debug] Current batch of media processed. Will check again in 1000ms 03:29:47.910 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.910 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.910 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:47.910 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@swiftfilmsuk --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/SwiftFilms/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7e/fa/7efaa11dd6d04a293578f3b134045a52f4aa30a2babce5057fb0af554b2059d0.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/61/ef/61efeccd5995516622053c62701a2e2ec7e6a472dc1b3fef4b86c443c153e0b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:48.031 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Upgrade your BOOX device to Firmware V4.2 for easier, more personalized settings. Apply EinkWise Code for instant display settings. Create and manage your schedules seamlessly in Calendar Memo. Updates for the Notes app, like the brand-new Template Hub, Scroll page layout, and optimized writing tools, make it more efficient to take notes. Whether you’re a long-time BOOX user or just getting started, settings are now simpler.\n\n【Learn more about our latest firmware】\nhttps://shop.boox.com/pages/firmware\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #firmwareupdate #firmware #booxfirmware #einktablet #epaper #eink #android #androidtablet #technology #epapertabletpc #productivity #colorepaper #noteair5c\n** \n00:00 Opening\n00:13 Template Hub\n00:43 Scroll Page Layout\n01:06 Pressure Sensitivity for the Pen Brush\n01:15 Eraser\n01:30 Optimized Lasso Tool\n02:14 Floating Side Toolbar\n02:21 New Calendar Memo\n02:56 EinkWise Code for Third-party Apps\n03:21 Image Smoothing\n03:39 AI Assistant in NeoReader\n04:03 Wrap-up", "duration" => 277, "filename" => "/downloads/BOOX/Season 2026/s2026e051800 - What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools.mp4", "id" => "NtDesD2eM04", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NtDesD2eM04", "playlist_index" => 11, "timestamp" => 1779073217, "title" => "What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools", "upload_date" => "20260518"} 03:29:48.031 [debug] QUERY OK source="sources" db=0.2ms idle=123.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:48.032 [debug] QUERY OK source="sources" db=0.1ms idle=122.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:48.033 [debug] QUERY OK source="media_items" db=1.0ms idle=122.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 03:00:17Z], 48] 03:29:48.034 [debug] QUERY OK source="media_items" db=0.8ms idle=123.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Upgrade your BOOX device to Firmware V4.2 for easier, more personalized settings. Apply EinkWise Code for instant display settings. Create and manage your schedules seamlessly in Calendar Memo. Updates for the Notes app, like the brand-new Template Hub, Scroll page layout, and optimized writing tools, make it more efficient to take notes. Whether you’re a long-time BOOX user or just getting started, settings are now simpler.\n\n【Learn more about our latest firmware】\nhttps://shop.boox.com/pages/firmware\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #firmwareupdate #firmware #booxfirmware #einktablet #epaper #eink #android #androidtablet #technology #epapertabletpc #productivity #colorepaper #noteair5c\n** \n00:00 Opening\n00:13 Template Hub\n00:43 Scroll Page Layout\n01:06 Pressure Sensitivity for the Pen Brush\n01:15 Eraser\n01:30 Optimized Lasso Tool\n02:14 Floating Side Toolbar\n02:21 New Calendar Memo\n02:56 EinkWise Code for Third-party Apps\n03:21 Image Smoothing\n03:39 AI Assistant in NeoReader\n04:03 Wrap-up", "What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools", "79776575-9232-4517-9607-f3b5b23d4da9", false, 48, [], 277, false, "NtDesD2eM04", "https://www.youtube.com/watch?v=NtDesD2eM04", 11, "/downloads/BOOX/Season 2026/s2026e051800 - What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools.mp4", false, false, 98, ~U[2026-05-18 03:00:17Z], ~U[2026-08-05 01:29:48Z], ~U[2026-08-05 01:29:48Z], "Upgrade your BOOX device to Firmware V4.2 for easier, more personalized settings. Apply EinkWise Code for instant display settings. Create and manage your schedules seamlessly in Calendar Memo. Updates for the Notes app, like the brand-new Template Hub, Scroll page layout, and optimized writing tools, make it more efficient to take notes. Whether you’re a long-time BOOX user or just getting started, settings are now simpler.\n\n【Learn more about our latest firmware】\nhttps://shop.boox.com/pages/firmware\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #firmwareupdate #firmware #booxfirmware #einktablet #epaper #eink #android #androidtablet #technology #epapertabletpc #productivity #colorepaper #noteair5c\n** \n00:00 Opening\n00:13 Template Hub\n00:43 Scroll Page Layout\n01:06 Pressure Sensitivity for the Pen Brush\n01:15 Eraser\n01:30 Optimized Lasso Tool\n02:14 Floating Side Toolbar\n02:21 New Calendar Memo\n02:56 EinkWise Code for Third-party Apps\n03:21 Image Smoothing\n03:39 AI Assistant in NeoReader\n04:03 Wrap-up", "What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools", 48, 277, false, "NtDesD2eM04", "https://www.youtube.com/watch?v=NtDesD2eM04", "/downloads/BOOX/Season 2026/s2026e051800 - What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools.mp4", false, ~U[2026-05-18 03:00:17Z]] 03:29:48.034 [debug] QUERY OK source="sources" db=0.1ms idle=124.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:48.035 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:48.035 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4970904] 03:29:48.035 [debug] Current batch of media processed. Will check again in 1000ms 03:29:48.910 [debug] Current batch of media processed. Will check again in 1000ms 03:29:49.036 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What if your screen time could support your mental health? BOOX ePaper devices can help you feel calmer, by cutting notifications, reducing doomscroll temptation, and giving you unparelled access to the mental health apps you need.\n\nReady to swap endless scrolling for a calmer, more intentional screen experience? Order yours today.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#MentalHealth #ScreenTime #DigitalWellbeing #EInk #Journaling #Mindfulness #BOOX\n\n00:00 - Tech and anxiety check\n00:18 - Why distractions drain you\n01:05 - Cutting notifications for peace\n01:45 - ePaper vs doomscrolling\n02:35 - Better sleep, gentler eyes\n03:15 - Journaling and therapy apps", "duration" => 128, "filename" => "/downloads/BOOX/Season 2026/s2026e051500 - How BOOX Supports Your Mental Health Journey.mp4", "id" => "eyUHUlhpR7U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eyUHUlhpR7U", "playlist_index" => 12, "timestamp" => 1778860859, "title" => "How BOOX Supports Your Mental Health Journey", "upload_date" => "20260515"} 03:29:49.036 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:49.037 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:49.037 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 16:00:59Z], 48] 03:29:49.039 [debug] QUERY OK source="media_items" db=1.4ms idle=151.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What if your screen time could support your mental health? BOOX ePaper devices can help you feel calmer, by cutting notifications, reducing doomscroll temptation, and giving you unparelled access to the mental health apps you need.\n\nReady to swap endless scrolling for a calmer, more intentional screen experience? Order yours today.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#MentalHealth #ScreenTime #DigitalWellbeing #EInk #Journaling #Mindfulness #BOOX\n\n00:00 - Tech and anxiety check\n00:18 - Why distractions drain you\n01:05 - Cutting notifications for peace\n01:45 - ePaper vs doomscrolling\n02:35 - Better sleep, gentler eyes\n03:15 - Journaling and therapy apps", "How BOOX Supports Your Mental Health Journey", "9500636a-9e68-43e5-803c-f9704d5b35a2", false, 48, [], 128, false, "eyUHUlhpR7U", "https://www.youtube.com/watch?v=eyUHUlhpR7U", 12, "/downloads/BOOX/Season 2026/s2026e051500 - How BOOX Supports Your Mental Health Journey.mp4", false, false, 98, ~U[2026-05-15 16:00:59Z], ~U[2026-08-05 01:29:49Z], ~U[2026-08-05 01:29:49Z], "What if your screen time could support your mental health? BOOX ePaper devices can help you feel calmer, by cutting notifications, reducing doomscroll temptation, and giving you unparelled access to the mental health apps you need.\n\nReady to swap endless scrolling for a calmer, more intentional screen experience? Order yours today.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#MentalHealth #ScreenTime #DigitalWellbeing #EInk #Journaling #Mindfulness #BOOX\n\n00:00 - Tech and anxiety check\n00:18 - Why distractions drain you\n01:05 - Cutting notifications for peace\n01:45 - ePaper vs doomscrolling\n02:35 - Better sleep, gentler eyes\n03:15 - Journaling and therapy apps", "How BOOX Supports Your Mental Health Journey", 48, 128, false, "eyUHUlhpR7U", "https://www.youtube.com/watch?v=eyUHUlhpR7U", "/downloads/BOOX/Season 2026/s2026e051500 - How BOOX Supports Your Mental Health Journey.mp4", false, ~U[2026-05-15 16:00:59Z]] 03:29:49.039 [debug] QUERY OK source="sources" db=0.1ms idle=146.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:49.040 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:49.040 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4959916] 03:29:49.040 [debug] Current batch of media processed. Will check again in 1000ms 03:29:49.911 [debug] Current batch of media processed. Will check again in 1000ms 03:29:50.041 [debug] Current batch of media processed. Will check again in 1000ms 03:29:50.912 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I went through 50 popular journaling routines and almost every one was built on the same five mistakes that I made.\n\nThese five mistakes make journaling feel clunky and awkward. They are the main reasons why people ultimately quit.\n\nIn this video, I show you what these five mistakes are, why they kill the journaling habit and how to fix each one. \n\nThe device I am using in this video for journaling and for organising my life is the reMarkable Paper Pro. I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nTime stamps:\n\n00:17 - Mistake 1\n01:50 - Mistake 2\n03:33 - Mistake 3\n05:17 - Mistake 4\n06:55 - Mistake 5", "duration" => 463, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e072400 - I tested 50 journaling routines and found the SAME 5 mistakes.mp4", "id" => "Bo39tL9nO_0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bo39tL9nO_0", "playlist_index" => 1, "timestamp" => 1784907906, "title" => "I tested 50 journaling routines and found the SAME 5 mistakes", "upload_date" => "20260724"} 03:29:50.912 [debug] QUERY OK source="sources" db=0.1ms idle=137.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:50.913 [debug] QUERY OK source="sources" db=0.0ms idle=137.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:50.913 [debug] QUERY OK source="media_items" db=0.2ms idle=137.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 15:45:06Z], 38] 03:29:50.914 [debug] QUERY OK source="media_items" db=0.5ms idle=23.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I went through 50 popular journaling routines and almost every one was built on the same five mistakes that I made.\n\nThese five mistakes make journaling feel clunky and awkward. They are the main reasons why people ultimately quit.\n\nIn this video, I show you what these five mistakes are, why they kill the journaling habit and how to fix each one. \n\nThe device I am using in this video for journaling and for organising my life is the reMarkable Paper Pro. I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nTime stamps:\n\n00:17 - Mistake 1\n01:50 - Mistake 2\n03:33 - Mistake 3\n05:17 - Mistake 4\n06:55 - Mistake 5", "I tested 50 journaling routines and found the SAME 5 mistakes", "78ab8bd5-e818-4545-a3a5-db4375a38847", false, 38, [], 463, false, "Bo39tL9nO_0", "https://www.youtube.com/watch?v=Bo39tL9nO_0", 1, "/downloads/SwiftFilms/Season 2026/s2026e072400 - I tested 50 journaling routines and found the SAME 5 mistakes.mp4", false, false, 98, ~U[2026-07-24 15:45:06Z], ~U[2026-08-05 01:29:50Z], ~U[2026-08-05 01:29:50Z], "I went through 50 popular journaling routines and almost every one was built on the same five mistakes that I made.\n\nThese five mistakes make journaling feel clunky and awkward. They are the main reasons why people ultimately quit.\n\nIn this video, I show you what these five mistakes are, why they kill the journaling habit and how to fix each one. \n\nThe device I am using in this video for journaling and for organising my life is the reMarkable Paper Pro. I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nTime stamps:\n\n00:17 - Mistake 1\n01:50 - Mistake 2\n03:33 - Mistake 3\n05:17 - Mistake 4\n06:55 - Mistake 5", "I tested 50 journaling routines and found the SAME 5 mistakes", 38, 463, false, "Bo39tL9nO_0", "https://www.youtube.com/watch?v=Bo39tL9nO_0", "/downloads/SwiftFilms/Season 2026/s2026e072400 - I tested 50 journaling routines and found the SAME 5 mistakes.mp4", false, ~U[2026-07-24 15:45:06Z]] 03:29:50.914 [debug] QUERY OK source="sources" db=0.1ms idle=18.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:50.914 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:50.914 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210527] 03:29:50.914 [info] Kicking off download for media item #5210527 (Bo39tL9nO_0) 03:29:50.916 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133801, 5210527, ~U[2026-08-05 01:29:50Z], ~U[2026-08-05 01:29:50Z]] 03:29:50.916 [debug] Current batch of media processed. Will check again in 1000ms 03:29:50.921 [info] {"args":{"id":5210527},"id":133801,"meta":{},"system_time":1785893390921823280,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:50.922 [debug] QUERY OK source="media_items" db=0.1ms idle=7.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5210527] 03:29:50.922 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:50.922 [debug] QUERY OK source="sources" db=0.1ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:50.922 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:50.923 [debug] QUERY OK source="media_items" db=0.1ms idle=6.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210527] 03:29:50.932 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5210527] 03:29:50.932 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:50.933 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:50.933 [debug] QUERY OK source="settings" db=0.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:50.933 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:50.933 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:50.933 [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 [] 03:29:50.933 [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 [] 03:29:50.934 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Bo39tL9nO_0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/79/5379e6277a36b7f0cf7b39125d5316c6b26b31ff932d1564ebf69901c498f574.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:51.042 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The BOOX Tappy is a wireless page turner for BOOX ePaper devices. It's designed to be your thoughtful reading companion while you are using your BOOX devices. This gadget promises a more relaxed, effortless reading experience, whether you are reading in bed or listening to audiobooks. \n\nUpdate your BOOX devices to Firmware V4.2 or later to enjoy more advanced BOOX Tappy settings, including button customization.\n\nThe package includes:\nBOOX Tappy x 1\nSpare Keycap x 2\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today in our official shop.\nhttps://shop.boox.com/products/boox-tappy-wireless-pageturner\n\n📝 If you have any questions about this accessory, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxtappy #unboxing #boox #newproduct #tappy #pageturner #epaper", "duration" => 42, "filename" => "/downloads/BOOX/Season 2026/s2026e051100 - BOOX Tappy Wireless Page Turner Official Unboxing.mp4", "id" => "4AOf6hRwvc0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4AOf6hRwvc0", "playlist_index" => 13, "timestamp" => 1778466603, "title" => "BOOX Tappy Wireless Page Turner Official Unboxing", "upload_date" => "20260511"} 03:29:51.042 [debug] QUERY OK source="sources" db=0.1ms idle=109.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:51.043 [debug] QUERY OK source="sources" db=0.1ms idle=109.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:51.044 [debug] QUERY OK source="media_items" db=0.8ms idle=109.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 02:30:03Z], 48] 03:29:51.047 [debug] QUERY OK source="media_items" db=3.0ms idle=110.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The BOOX Tappy is a wireless page turner for BOOX ePaper devices. It's designed to be your thoughtful reading companion while you are using your BOOX devices. This gadget promises a more relaxed, effortless reading experience, whether you are reading in bed or listening to audiobooks. \n\nUpdate your BOOX devices to Firmware V4.2 or later to enjoy more advanced BOOX Tappy settings, including button customization.\n\nThe package includes:\nBOOX Tappy x 1\nSpare Keycap x 2\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today in our official shop.\nhttps://shop.boox.com/products/boox-tappy-wireless-pageturner\n\n📝 If you have any questions about this accessory, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxtappy #unboxing #boox #newproduct #tappy #pageturner #epaper", "BOOX Tappy Wireless Page Turner Official Unboxing", "5cf4a6b8-7616-4d83-aba5-946f6f90a078", false, 48, [], 42, false, "4AOf6hRwvc0", "https://www.youtube.com/watch?v=4AOf6hRwvc0", 13, "/downloads/BOOX/Season 2026/s2026e051100 - BOOX Tappy Wireless Page Turner Official Unboxing.mp4", false, false, 98, ~U[2026-05-11 02:30:03Z], ~U[2026-08-05 01:29:51Z], ~U[2026-08-05 01:29:51Z], "The BOOX Tappy is a wireless page turner for BOOX ePaper devices. It's designed to be your thoughtful reading companion while you are using your BOOX devices. This gadget promises a more relaxed, effortless reading experience, whether you are reading in bed or listening to audiobooks. \n\nUpdate your BOOX devices to Firmware V4.2 or later to enjoy more advanced BOOX Tappy settings, including button customization.\n\nThe package includes:\nBOOX Tappy x 1\nSpare Keycap x 2\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today in our official shop.\nhttps://shop.boox.com/products/boox-tappy-wireless-pageturner\n\n📝 If you have any questions about this accessory, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxtappy #unboxing #boox #newproduct #tappy #pageturner #epaper", "BOOX Tappy Wireless Page Turner Official Unboxing", 48, 42, false, "4AOf6hRwvc0", "https://www.youtube.com/watch?v=4AOf6hRwvc0", "/downloads/BOOX/Season 2026/s2026e051100 - BOOX Tappy Wireless Page Turner Official Unboxing.mp4", false, ~U[2026-05-11 02:30:03Z]] 03:29:51.047 [debug] QUERY OK source="sources" db=0.2ms idle=113.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:51.048 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:51.048 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4945348] 03:29:51.048 [debug] Current batch of media processed. Will check again in 1000ms 03:29:51.916 [debug] Current batch of media processed. Will check again in 1000ms 03:29:52.049 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ever get perfectly cozy… then realize you have to move to tap “next page”? Meet Tappy, BOOX’s wireless Bluetooth page-turner remote built for hands-free reading. Switch between Reading Mode for forward/back clicks, Browsing Mode for smooth scrolling, and Multimedia Mode for playback control. Stay warm, stay immersed, and read longer without touching your device.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ereader #pageturner #readingsetup #booktok #audiobooks #techaccessories\n\n---\n00:20 - The cozy reading problem\n00:40 - What is Tappy?\n00:48 - What does Tappy do?\n00:32 - Reading Mode \n01:07 - Browsing Mode\n01:18 - Multimedia Mode \n01:32 - Switching modes", "duration" => 137, "filename" => "/downloads/BOOX/Season 2026/s2026e050800 - Hands‑Free Reading with BOOX.mp4", "id" => "sMslx-pZ69Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sMslx-pZ69Y", "playlist_index" => 14, "timestamp" => 1778207458, "title" => "Hands‑Free Reading with BOOX", "upload_date" => "20260508"} 03:29:52.049 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:52.050 [debug] QUERY OK source="sources" db=0.0ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:52.050 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 02:30:58Z], 48] 03:29:52.051 [debug] QUERY OK source="media_items" db=0.6ms idle=159.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ever get perfectly cozy… then realize you have to move to tap “next page”? Meet Tappy, BOOX’s wireless Bluetooth page-turner remote built for hands-free reading. Switch between Reading Mode for forward/back clicks, Browsing Mode for smooth scrolling, and Multimedia Mode for playback control. Stay warm, stay immersed, and read longer without touching your device.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ereader #pageturner #readingsetup #booktok #audiobooks #techaccessories\n\n---\n00:20 - The cozy reading problem\n00:40 - What is Tappy?\n00:48 - What does Tappy do?\n00:32 - Reading Mode \n01:07 - Browsing Mode\n01:18 - Multimedia Mode \n01:32 - Switching modes", "Hands‑Free Reading with BOOX", "db2c0124-858b-4705-a729-74b17144478f", false, 48, [], 137, false, "sMslx-pZ69Y", "https://www.youtube.com/watch?v=sMslx-pZ69Y", 14, "/downloads/BOOX/Season 2026/s2026e050800 - Hands‑Free Reading with BOOX.mp4", false, false, 98, ~U[2026-05-08 02:30:58Z], ~U[2026-08-05 01:29:52Z], ~U[2026-08-05 01:29:52Z], "Ever get perfectly cozy… then realize you have to move to tap “next page”? Meet Tappy, BOOX’s wireless Bluetooth page-turner remote built for hands-free reading. Switch between Reading Mode for forward/back clicks, Browsing Mode for smooth scrolling, and Multimedia Mode for playback control. Stay warm, stay immersed, and read longer without touching your device.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ereader #pageturner #readingsetup #booktok #audiobooks #techaccessories\n\n---\n00:20 - The cozy reading problem\n00:40 - What is Tappy?\n00:48 - What does Tappy do?\n00:32 - Reading Mode \n01:07 - Browsing Mode\n01:18 - Multimedia Mode \n01:32 - Switching modes", "Hands‑Free Reading with BOOX", 48, 137, false, "sMslx-pZ69Y", "https://www.youtube.com/watch?v=sMslx-pZ69Y", "/downloads/BOOX/Season 2026/s2026e050800 - Hands‑Free Reading with BOOX.mp4", false, ~U[2026-05-08 02:30:58Z]] 03:29:52.052 [debug] QUERY OK source="sources" db=0.1ms idle=155.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:52.052 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:52.052 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4934464] 03:29:52.052 [debug] Current batch of media processed. Will check again in 1000ms 03:29:52.917 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Here are 10 specific ideas I have stolen from books that have made me happier. Not richer, or more productive, but 10 ideas that are rooted in kindness and compassion to yourself and others. They might just change your life. They did with mine.\n\nRather than talking about whole books, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact on my happiness. \n\nTime stamps\n\n00:13 - Daily ish consistency - 'Meditations for Mortals' by Oliver Burkeman\n\n01:17 - Don’t fear ridicule, fear mediocrity- 'Make Brilliant Work' by Rod Judkins\n\n02:08 - Break your mirrors - 'Be Useful. Seven Tools for Life' by Arnold Schwarzenegger\n\n02:59 - 'Daily Rituals' by Mason Curry\n\n03:55 - Resistance is universal - 'The War of Art' by Steven Pressfield\n\n04:45 - Recycle your pain into passion - '12 Notes On Life and Creativity' by Quincy Jones\n\n05:30 - Self doubt never fully disappears - 'Sonny Boy' by Al Pacino\n\n06:19 - All art is a product of the artist’s influences - 'Steal Like An Artist' by Austin Kleon\n\n06:54 - Discover your life’s task - ‘Mastery' by Robert Greene\n\n07:29 - Believing is seeing - 'Beyond Belief' by Nir Eyal", "duration" => 495, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e061900 - 10 ideas from books that made me happier.mp4", "id" => "f-3LBMpeHFo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f-3LBMpeHFo", "playlist_index" => 2, "timestamp" => 1781884830, "title" => "10 ideas from books that made me happier", "upload_date" => "20260619"} 03:29:52.917 [debug] QUERY OK source="sources" db=0.1ms idle=865.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:52.918 [debug] QUERY OK source="sources" db=0.1ms idle=865.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:52.918 [debug] QUERY OK source="media_items" db=0.3ms idle=865.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-19 16:00:30Z], 38] 03:29:52.919 [debug] QUERY OK source="media_items" db=0.9ms idle=26.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Here are 10 specific ideas I have stolen from books that have made me happier. Not richer, or more productive, but 10 ideas that are rooted in kindness and compassion to yourself and others. They might just change your life. They did with mine.\n\nRather than talking about whole books, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact on my happiness. \n\nTime stamps\n\n00:13 - Daily ish consistency - 'Meditations for Mortals' by Oliver Burkeman\n\n01:17 - Don’t fear ridicule, fear mediocrity- 'Make Brilliant Work' by Rod Judkins\n\n02:08 - Break your mirrors - 'Be Useful. Seven Tools for Life' by Arnold Schwarzenegger\n\n02:59 - 'Daily Rituals' by Mason Curry\n\n03:55 - Resistance is universal - 'The War of Art' by Steven Pressfield\n\n04:45 - Recycle your pain into passion - '12 Notes On Life and Creativity' by Quincy Jones\n\n05:30 - Self doubt never fully disappears - 'Sonny Boy' by Al Pacino\n\n06:19 - All art is a product of the artist’s influences - 'Steal Like An Artist' by Austin Kleon\n\n06:54 - Discover your life’s task - ‘Mastery' by Robert Greene\n\n07:29 - Believing is seeing - 'Beyond Belief' by Nir Eyal", "10 ideas from books that made me happier", "1fb1c1d7-277f-4e11-90e5-3b66d7f6b24f", false, 38, [], 495, false, "f-3LBMpeHFo", "https://www.youtube.com/watch?v=f-3LBMpeHFo", 2, "/downloads/SwiftFilms/Season 2026/s2026e061900 - 10 ideas from books that made me happier.mp4", false, false, 98, ~U[2026-06-19 16:00:30Z], ~U[2026-08-05 01:29:52Z], ~U[2026-08-05 01:29:52Z], "Here are 10 specific ideas I have stolen from books that have made me happier. Not richer, or more productive, but 10 ideas that are rooted in kindness and compassion to yourself and others. They might just change your life. They did with mine.\n\nRather than talking about whole books, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact on my happiness. \n\nTime stamps\n\n00:13 - Daily ish consistency - 'Meditations for Mortals' by Oliver Burkeman\n\n01:17 - Don’t fear ridicule, fear mediocrity- 'Make Brilliant Work' by Rod Judkins\n\n02:08 - Break your mirrors - 'Be Useful. Seven Tools for Life' by Arnold Schwarzenegger\n\n02:59 - 'Daily Rituals' by Mason Curry\n\n03:55 - Resistance is universal - 'The War of Art' by Steven Pressfield\n\n04:45 - Recycle your pain into passion - '12 Notes On Life and Creativity' by Quincy Jones\n\n05:30 - Self doubt never fully disappears - 'Sonny Boy' by Al Pacino\n\n06:19 - All art is a product of the artist’s influences - 'Steal Like An Artist' by Austin Kleon\n\n06:54 - Discover your life’s task - ‘Mastery' by Robert Greene\n\n07:29 - Believing is seeing - 'Beyond Belief' by Nir Eyal", "10 ideas from books that made me happier", 38, 495, false, "f-3LBMpeHFo", "https://www.youtube.com/watch?v=f-3LBMpeHFo", "/downloads/SwiftFilms/Season 2026/s2026e061900 - 10 ideas from books that made me happier.mp4", false, ~U[2026-06-19 16:00:30Z]] 03:29:52.920 [debug] QUERY OK source="sources" db=0.1ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:52.920 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:52.920 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5085913] 03:29:52.920 [debug] Current batch of media processed. Will check again in 1000ms 03:29:53.031 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Bo39tL9nO_0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/79/5379e6277a36b7f0cf7b39125d5316c6b26b31ff932d1564ebf69901c498f574.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:53.031 [error] yt-dlp download error for media item #5210527: "WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:53.031 [error] yt-dlp download will not be retried: "WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:53.031 [info] {"args":{"id":5210527},"id":133801,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2109634,"event":"job:stop","queue_time":921331,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:53.053 [debug] Current batch of media processed. Will check again in 1000ms 03:29:53.921 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Evening or morning journaling? Offload your mental clutter before sleep or plot your intent before sunrise?\n \nJournaling at different times of the day can have a radically different effect on your mind and body, but which one which one actually changes your brain?. \n \nIn this video I will show you the 10 minute journaling routine I do every evening for better sleep and less anxiety and how I journal in the morning to improve my focus and capture ideas. \n \nAnd then I will show you why one of these journaling times is proven to be better for learning and long-term memory.\n\nReflective journaling in the evening has had a much bigger impact on my life than doing it first thing in the morning And I think the main reason for this is that Evening journaling is good for emotional regulation and better sleep. I am an over-thinker and I have never slept well. And it helps me a lot with both of these things. But the main benefits of journaling can be experienced whenever you do it. \nIt really it comes down to when is best for you to make it a consistent habit.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "duration" => 351, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e052400 - The best time to journal.mp4", "id" => "61vXCfwkk4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=61vXCfwkk4o", "playlist_index" => 3, "timestamp" => 1779613239, "title" => "The best time to journal", "upload_date" => "20260524"} 03:29:53.922 [debug] QUERY OK source="sources" db=0.2ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:53.922 [debug] QUERY OK source="sources" db=0.0ms idle=890.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:53.922 [debug] QUERY OK source="media_items" db=0.3ms idle=884.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 09:00:39Z], 38] 03:29:53.936 [debug] QUERY OK source="media_items" db=12.6ms idle=30.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Evening or morning journaling? Offload your mental clutter before sleep or plot your intent before sunrise?\n \nJournaling at different times of the day can have a radically different effect on your mind and body, but which one which one actually changes your brain?. \n \nIn this video I will show you the 10 minute journaling routine I do every evening for better sleep and less anxiety and how I journal in the morning to improve my focus and capture ideas. \n \nAnd then I will show you why one of these journaling times is proven to be better for learning and long-term memory.\n\nReflective journaling in the evening has had a much bigger impact on my life than doing it first thing in the morning And I think the main reason for this is that Evening journaling is good for emotional regulation and better sleep. I am an over-thinker and I have never slept well. And it helps me a lot with both of these things. But the main benefits of journaling can be experienced whenever you do it. \nIt really it comes down to when is best for you to make it a consistent habit.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "The best time to journal", "fff455c4-e1fd-4b44-a6f2-dfe9786bd196", false, 38, [], 351, false, "61vXCfwkk4o", "https://www.youtube.com/watch?v=61vXCfwkk4o", 3, "/downloads/SwiftFilms/Season 2026/s2026e052400 - The best time to journal.mp4", false, false, 98, ~U[2026-05-24 09:00:39Z], ~U[2026-08-05 01:29:53Z], ~U[2026-08-05 01:29:53Z], "Evening or morning journaling? Offload your mental clutter before sleep or plot your intent before sunrise?\n \nJournaling at different times of the day can have a radically different effect on your mind and body, but which one which one actually changes your brain?. \n \nIn this video I will show you the 10 minute journaling routine I do every evening for better sleep and less anxiety and how I journal in the morning to improve my focus and capture ideas. \n \nAnd then I will show you why one of these journaling times is proven to be better for learning and long-term memory.\n\nReflective journaling in the evening has had a much bigger impact on my life than doing it first thing in the morning And I think the main reason for this is that Evening journaling is good for emotional regulation and better sleep. I am an over-thinker and I have never slept well. And it helps me a lot with both of these things. But the main benefits of journaling can be experienced whenever you do it. \nIt really it comes down to when is best for you to make it a consistent habit.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "The best time to journal", 38, 351, false, "61vXCfwkk4o", "https://www.youtube.com/watch?v=61vXCfwkk4o", "/downloads/SwiftFilms/Season 2026/s2026e052400 - The best time to journal.mp4", false, ~U[2026-05-24 09:00:39Z]] 03:29:53.936 [debug] QUERY OK source="sources" db=0.3ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:53.936 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:53.937 [debug] QUERY OK source="media_items" db=0.2ms idle=14.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4993248] 03:29:53.937 [debug] Current batch of media processed. Will check again in 1000ms 03:29:54.054 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Beat procrastination with a simple 10-minute writing sprint. Learn how to set up a distraction-free space, choose an easy goal, start a timer, and get words flowing fast. Discover why a BOOX ePaper workspace helps you brainstorm, convert handwriting to text, and build momentum that lasts.\nWhat would you create with a 10-minute daily writing sprint on a distraction-free ePaper device?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#writingtips #productivity #focus #boox #epaper #digitalnotebook\n--\n00:15 - A distraction free writing sprint \n00:21 - Set up your space\n00:42 - Make a goal\n01:07 - BOOX features that make the difference\n01:39 - Battery that doesn't quit", "duration" => 129, "filename" => "/downloads/BOOX/Season 2026/s2026e043000 - Distraction-Free Writing | BOOX.mp4", "id" => "-0rJa2riq6k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-0rJa2riq6k", "playlist_index" => 15, "timestamp" => 1777564800, "title" => "Distraction-Free Writing | BOOX", "upload_date" => "20260430"} 03:29:54.055 [debug] QUERY OK source="sources" db=0.2ms idle=131.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:54.055 [debug] QUERY OK source="sources" db=0.0ms idle=119.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:54.056 [debug] QUERY OK source="media_items" db=0.9ms idle=118.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 16:00:00Z], 48] 03:29:54.057 [debug] QUERY OK source="media_items" db=0.8ms idle=119.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Beat procrastination with a simple 10-minute writing sprint. Learn how to set up a distraction-free space, choose an easy goal, start a timer, and get words flowing fast. Discover why a BOOX ePaper workspace helps you brainstorm, convert handwriting to text, and build momentum that lasts.\nWhat would you create with a 10-minute daily writing sprint on a distraction-free ePaper device?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#writingtips #productivity #focus #boox #epaper #digitalnotebook\n--\n00:15 - A distraction free writing sprint \n00:21 - Set up your space\n00:42 - Make a goal\n01:07 - BOOX features that make the difference\n01:39 - Battery that doesn't quit", "Distraction-Free Writing | BOOX", "3a41f1a7-281a-4ced-8b5f-58d1e61686b6", false, 48, [], 129, false, "-0rJa2riq6k", "https://www.youtube.com/watch?v=-0rJa2riq6k", 15, "/downloads/BOOX/Season 2026/s2026e043000 - Distraction-Free Writing | BOOX.mp4", false, false, 98, ~U[2026-04-30 16:00:00Z], ~U[2026-08-05 01:29:54Z], ~U[2026-08-05 01:29:54Z], "Beat procrastination with a simple 10-minute writing sprint. Learn how to set up a distraction-free space, choose an easy goal, start a timer, and get words flowing fast. Discover why a BOOX ePaper workspace helps you brainstorm, convert handwriting to text, and build momentum that lasts.\nWhat would you create with a 10-minute daily writing sprint on a distraction-free ePaper device?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#writingtips #productivity #focus #boox #epaper #digitalnotebook\n--\n00:15 - A distraction free writing sprint \n00:21 - Set up your space\n00:42 - Make a goal\n01:07 - BOOX features that make the difference\n01:39 - Battery that doesn't quit", "Distraction-Free Writing | BOOX", 48, 129, false, "-0rJa2riq6k", "https://www.youtube.com/watch?v=-0rJa2riq6k", "/downloads/BOOX/Season 2026/s2026e043000 - Distraction-Free Writing | BOOX.mp4", false, ~U[2026-04-30 16:00:00Z]] 03:29:54.057 [debug] QUERY OK source="sources" db=0.1ms idle=120.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:54.058 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:54.058 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4906392] 03:29:54.058 [debug] Current batch of media processed. Will check again in 1000ms 03:29:54.938 [debug] Current batch of media processed. Will check again in 1000ms 03:29:55.059 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Are you juggling remote work, meetings on the move, endless PDFs, and a to-do list that never quits? Here’s a distraction-light workflow that fits in a backpack.\n\nSee how the Note Air5 C, and the Go 10.3 (Gen II) Lumi help you keep everything in one place. With seamless sync and the right screen for every task, you can stay organized wherever work happens.\nWhat would you do with a setup like this?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #EInk #Workflow #Productivity #Go10.3 #NoteAir5C #ePaper #DigitalMinimalism\n\n---\n00:26 - Your workflow, without distractions\n00:41 - Premade templates\n00:58 - Research \n01:08 - Everything in one place\n01:31 - Keyboard cover\n01:53 - Onyx cloud", "duration" => 146, "filename" => "/downloads/BOOX/Season 2026/s2026e042300 - The Backpack Workflow | BOOX.mp4", "id" => "iteGAiu-mtA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iteGAiu-mtA", "playlist_index" => 16, "timestamp" => 1776956482, "title" => "The Backpack Workflow | BOOX", "upload_date" => "20260423"} 03:29:55.059 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:55.060 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:55.061 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-23 15:01:22Z], 48] 03:29:55.062 [debug] QUERY OK source="media_items" db=0.9ms idle=167.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Are you juggling remote work, meetings on the move, endless PDFs, and a to-do list that never quits? Here’s a distraction-light workflow that fits in a backpack.\n\nSee how the Note Air5 C, and the Go 10.3 (Gen II) Lumi help you keep everything in one place. With seamless sync and the right screen for every task, you can stay organized wherever work happens.\nWhat would you do with a setup like this?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #EInk #Workflow #Productivity #Go10.3 #NoteAir5C #ePaper #DigitalMinimalism\n\n---\n00:26 - Your workflow, without distractions\n00:41 - Premade templates\n00:58 - Research \n01:08 - Everything in one place\n01:31 - Keyboard cover\n01:53 - Onyx cloud", "The Backpack Workflow | BOOX", "f9ce27a4-8257-4878-8efb-4ed5d526736f", false, 48, [], 146, false, "iteGAiu-mtA", "https://www.youtube.com/watch?v=iteGAiu-mtA", 16, "/downloads/BOOX/Season 2026/s2026e042300 - The Backpack Workflow | BOOX.mp4", false, false, 98, ~U[2026-04-23 15:01:22Z], ~U[2026-08-05 01:29:55Z], ~U[2026-08-05 01:29:55Z], "Are you juggling remote work, meetings on the move, endless PDFs, and a to-do list that never quits? Here’s a distraction-light workflow that fits in a backpack.\n\nSee how the Note Air5 C, and the Go 10.3 (Gen II) Lumi help you keep everything in one place. With seamless sync and the right screen for every task, you can stay organized wherever work happens.\nWhat would you do with a setup like this?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #EInk #Workflow #Productivity #Go10.3 #NoteAir5C #ePaper #DigitalMinimalism\n\n---\n00:26 - Your workflow, without distractions\n00:41 - Premade templates\n00:58 - Research \n01:08 - Everything in one place\n01:31 - Keyboard cover\n01:53 - Onyx cloud", "The Backpack Workflow | BOOX", 48, 146, false, "iteGAiu-mtA", "https://www.youtube.com/watch?v=iteGAiu-mtA", "/downloads/BOOX/Season 2026/s2026e042300 - The Backpack Workflow | BOOX.mp4", false, ~U[2026-04-23 15:01:22Z]] 03:29:55.062 [debug] QUERY OK source="sources" db=0.1ms idle=161.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:55.062 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:55.063 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4881566] 03:29:55.063 [debug] Current batch of media processed. Will check again in 1000ms 03:29:55.939 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I spent years trying to do it all - get in better shape, eat more healthily, produce more content, make more money, all in the hope that I could be fitter, happier, more productive. I learnt the hard way that in order to achieve more, I need to do less. These are 10 habits, all rooted in mindfulness, that transformed my life.\n\nIf I was to choose only one of these ten habits that had the biggest impact, it would be reflective journaling. I do my various reflective journaling habits at the end of every day, after brushing my teeth and before going to sleep. It consists of three things – my habit tracker, my list of tiny wins and a sentence or two about the most memorable or amusing thing that happened that day. I like to do this at the end of the day whilst it is still fresh in my mind and the 5 or 10 minutes it takes me to do this is the best way for me to prepare for sleep. I also think that by focusing on the positives in my reflective journaling, it calms my nervous system which makes me sleep better, and I like to think this positivity ruminates in my subconscious mind as I’m sleeping.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "duration" => 465, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e050700 - 10 mindful habits that transformed my life.mp4", "id" => "Pxhyv6MyIM4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Pxhyv6MyIM4", "playlist_index" => 4, "timestamp" => 1778168704, "title" => "10 mindful habits that transformed my life", "upload_date" => "20260507"} 03:29:55.939 [debug] QUERY OK source="sources" db=0.1ms idle=876.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:55.940 [debug] QUERY OK source="sources" db=0.1ms idle=877.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:55.940 [debug] QUERY OK source="media_items" db=0.2ms idle=877.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 15:45:04Z], 38] 03:29:55.951 [debug] QUERY OK source="media_items" db=10.0ms idle=44.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I spent years trying to do it all - get in better shape, eat more healthily, produce more content, make more money, all in the hope that I could be fitter, happier, more productive. I learnt the hard way that in order to achieve more, I need to do less. These are 10 habits, all rooted in mindfulness, that transformed my life.\n\nIf I was to choose only one of these ten habits that had the biggest impact, it would be reflective journaling. I do my various reflective journaling habits at the end of every day, after brushing my teeth and before going to sleep. It consists of three things – my habit tracker, my list of tiny wins and a sentence or two about the most memorable or amusing thing that happened that day. I like to do this at the end of the day whilst it is still fresh in my mind and the 5 or 10 minutes it takes me to do this is the best way for me to prepare for sleep. I also think that by focusing on the positives in my reflective journaling, it calms my nervous system which makes me sleep better, and I like to think this positivity ruminates in my subconscious mind as I’m sleeping.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "10 mindful habits that transformed my life", "1cccfd3e-3e29-45eb-92ab-fa5b9e23ce2a", false, 38, [], 465, false, "Pxhyv6MyIM4", "https://www.youtube.com/watch?v=Pxhyv6MyIM4", 4, "/downloads/SwiftFilms/Season 2026/s2026e050700 - 10 mindful habits that transformed my life.mp4", false, false, 98, ~U[2026-05-07 15:45:04Z], ~U[2026-08-05 01:29:55Z], ~U[2026-08-05 01:29:55Z], "I spent years trying to do it all - get in better shape, eat more healthily, produce more content, make more money, all in the hope that I could be fitter, happier, more productive. I learnt the hard way that in order to achieve more, I need to do less. These are 10 habits, all rooted in mindfulness, that transformed my life.\n\nIf I was to choose only one of these ten habits that had the biggest impact, it would be reflective journaling. I do my various reflective journaling habits at the end of every day, after brushing my teeth and before going to sleep. It consists of three things – my habit tracker, my list of tiny wins and a sentence or two about the most memorable or amusing thing that happened that day. I like to do this at the end of the day whilst it is still fresh in my mind and the 5 or 10 minutes it takes me to do this is the best way for me to prepare for sleep. I also think that by focusing on the positives in my reflective journaling, it calms my nervous system which makes me sleep better, and I like to think this positivity ruminates in my subconscious mind as I’m sleeping.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "10 mindful habits that transformed my life", 38, 465, false, "Pxhyv6MyIM4", "https://www.youtube.com/watch?v=Pxhyv6MyIM4", "/downloads/SwiftFilms/Season 2026/s2026e050700 - 10 mindful habits that transformed my life.mp4", false, ~U[2026-05-07 15:45:04Z]] 03:29:55.951 [debug] QUERY OK source="sources" db=0.2ms idle=49.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:55.951 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:55.952 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4931293] 03:29:55.952 [debug] Current batch of media processed. Will check again in 1000ms 03:29:56.064 [debug] Current batch of media processed. Will check again in 1000ms 03:29:56.953 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThis is a simple journaling exercise that I do every day, without fail. It takes me two minutes and I think it's the most underrated journaling exercise of all time.\n\nI went from pessimistic, unhealthy, borderline depressed to being eternally optimistic and consistent with this journaling exercise. I credit it with making me significantly happier. A bold claim. \n\nI challenge you to do this journaling exercise for the next 30 days and see the impact it has on your life. I would be very interested to hear how you get on, so please feel free to use the comments below to let me know.\n\nThank you for watching!", "duration" => 292, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e041000 - The most underrated journaling exercise of all time.mp4", "id" => "u47spAmAlx4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u47spAmAlx4", "playlist_index" => 5, "timestamp" => 1775835906, "title" => "The most underrated journaling exercise of all time", "upload_date" => "20260410"} 03:29:56.954 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:56.954 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:56.954 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 15:45:06Z], 38] 03:29:56.965 [debug] QUERY OK source="media_items" db=10.0ms idle=57.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThis is a simple journaling exercise that I do every day, without fail. It takes me two minutes and I think it's the most underrated journaling exercise of all time.\n\nI went from pessimistic, unhealthy, borderline depressed to being eternally optimistic and consistent with this journaling exercise. I credit it with making me significantly happier. A bold claim. \n\nI challenge you to do this journaling exercise for the next 30 days and see the impact it has on your life. I would be very interested to hear how you get on, so please feel free to use the comments below to let me know.\n\nThank you for watching!", "The most underrated journaling exercise of all time", "3acd2669-fd85-4eee-95f7-59dc8cb81bed", false, 38, [], 292, false, "u47spAmAlx4", "https://www.youtube.com/watch?v=u47spAmAlx4", 5, "/downloads/SwiftFilms/Season 2026/s2026e041000 - The most underrated journaling exercise of all time.mp4", false, false, 98, ~U[2026-04-10 15:45:06Z], ~U[2026-08-05 01:29:56Z], ~U[2026-08-05 01:29:56Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThis is a simple journaling exercise that I do every day, without fail. It takes me two minutes and I think it's the most underrated journaling exercise of all time.\n\nI went from pessimistic, unhealthy, borderline depressed to being eternally optimistic and consistent with this journaling exercise. I credit it with making me significantly happier. A bold claim. \n\nI challenge you to do this journaling exercise for the next 30 days and see the impact it has on your life. I would be very interested to hear how you get on, so please feel free to use the comments below to let me know.\n\nThank you for watching!", "The most underrated journaling exercise of all time", 38, 292, false, "u47spAmAlx4", "https://www.youtube.com/watch?v=u47spAmAlx4", "/downloads/SwiftFilms/Season 2026/s2026e041000 - The most underrated journaling exercise of all time.mp4", false, ~U[2026-04-10 15:45:06Z]] 03:29:56.965 [debug] QUERY OK source="sources" db=0.2ms idle=62.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:56.965 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:56.966 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4835999] 03:29:56.966 [debug] Current batch of media processed. Will check again in 1000ms 03:29:57.065 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Discover how deep reading helps you slow down, stay focused, and turn information into real understanding. Learn a simple step-by-step routine, from setting an intention to summarizing key ideas, plus practical BOOX tips like split-screen notes and distraction-free reading to boost comprehension and retention.\n\nReady to try deep reading on a BOOX tablet and upgrade your focus?\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #DeepReading #ReadingTips #StudySkills #DigitalNoteTaking #Productivity #EInk\n\n---\n00:18 - What is deep reading?\n00:35 - How to reduce distractions\n00:45 - Setting an intention\n01:07 - Read in chunks\n01:13 - Summarize what you've learned", "duration" => 110, "filename" => "/downloads/BOOX/Season 2026/s2026e041600 - Deep Reading Routine | BOOX.mp4", "id" => "r2z4dGft6xw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r2z4dGft6xw", "playlist_index" => 17, "timestamp" => 1776362460, "title" => "Deep Reading Routine | BOOX", "upload_date" => "20260416"} 03:29:57.065 [debug] QUERY OK source="sources" db=0.2ms idle=110.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:57.066 [debug] QUERY OK source="sources" db=0.1ms idle=101.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.066 [debug] QUERY OK source="media_items" db=0.6ms idle=100.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 18:01:00Z], 48] 03:29:57.069 [debug] QUERY OK source="media_items" db=2.4ms idle=101.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Discover how deep reading helps you slow down, stay focused, and turn information into real understanding. Learn a simple step-by-step routine, from setting an intention to summarizing key ideas, plus practical BOOX tips like split-screen notes and distraction-free reading to boost comprehension and retention.\n\nReady to try deep reading on a BOOX tablet and upgrade your focus?\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #DeepReading #ReadingTips #StudySkills #DigitalNoteTaking #Productivity #EInk\n\n---\n00:18 - What is deep reading?\n00:35 - How to reduce distractions\n00:45 - Setting an intention\n01:07 - Read in chunks\n01:13 - Summarize what you've learned", "Deep Reading Routine | BOOX", "7182c278-a3df-474c-adc7-9047758bef1e", false, 48, [], 110, false, "r2z4dGft6xw", "https://www.youtube.com/watch?v=r2z4dGft6xw", 17, "/downloads/BOOX/Season 2026/s2026e041600 - Deep Reading Routine | BOOX.mp4", false, false, 98, ~U[2026-04-16 18:01:00Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Discover how deep reading helps you slow down, stay focused, and turn information into real understanding. Learn a simple step-by-step routine, from setting an intention to summarizing key ideas, plus practical BOOX tips like split-screen notes and distraction-free reading to boost comprehension and retention.\n\nReady to try deep reading on a BOOX tablet and upgrade your focus?\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #DeepReading #ReadingTips #StudySkills #DigitalNoteTaking #Productivity #EInk\n\n---\n00:18 - What is deep reading?\n00:35 - How to reduce distractions\n00:45 - Setting an intention\n01:07 - Read in chunks\n01:13 - Summarize what you've learned", "Deep Reading Routine | BOOX", 48, 110, false, "r2z4dGft6xw", "https://www.youtube.com/watch?v=r2z4dGft6xw", "/downloads/BOOX/Season 2026/s2026e041600 - Deep Reading Routine | BOOX.mp4", false, ~U[2026-04-16 18:01:00Z]] 03:29:57.070 [debug] QUERY OK source="sources" db=0.1ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.070 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.070 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4856682] 03:29:57.070 [debug] Current batch of media processed. Will check again in 1000ms 03:29:57.599 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@boox.global?si=6wSphE-6w3LpV48s --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/BOOX/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/92/36/9236801c6554a414b81bd98983f24fcbc2abab57987e5846d0325457f39ac754.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65/b9/65b9d5dd3f6aa7ce0d4fcd419f5a610396c308d3bf18443ffa892091a8495d0e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:29:57.599 [debug] Gracefully stopping file follower 03:29:57.600 [debug] QUERY OK source="sources" db=0.3ms idle=532.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [48] 03:29:57.600 [debug] QUERY OK source="sources" db=0.0ms idle=530.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.601 [debug] QUERY OK source="media_items" db=0.5ms idle=530.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 11:00:29Z], 48] 03:29:57.603 [debug] QUERY OK source="media_items" db=1.4ms idle=531.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Finding the right ePaper device depends on whether you prioritize ultra-portability, digital note-taking, or paper-like reading in bright sunlight. As your ideal summer companion, BOOX devices are engineered to reduce eye strain compared to traditional smartphone and tablet LED displays.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#summer #epaper #eink #einktablet #colorepaper #epaper #eink #android #androidtablet #buyingguide #helpmechoose #noteair5c #palma2pro #go103 #go6 #boox\n***** \n00:00 Opening\n00:10 Palma 2 Pro\n00:35 Note Air5 C\n01:05 Go 10.3 (Gen II) Series\n01:54 Go 6 (Gen II)\n02:15 Wrap-up", "BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity", "e2addca7-ec81-4ffe-a72f-953062aa507d", false, 48, [], 143, false, "mvacYBW1M7w", "https://www.youtube.com/watch?v=mvacYBW1M7w", 1, "/downloads/BOOX/Season 2026/s2026e073100 - BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity.mp4", false, false, 98, ~U[2026-07-31 11:00:29Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Finding the right ePaper device depends on whether you prioritize ultra-portability, digital note-taking, or paper-like reading in bright sunlight. As your ideal summer companion, BOOX devices are engineered to reduce eye strain compared to traditional smartphone and tablet LED displays.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#summer #epaper #eink #einktablet #colorepaper #epaper #eink #android #androidtablet #buyingguide #helpmechoose #noteair5c #palma2pro #go103 #go6 #boox\n***** \n00:00 Opening\n00:10 Palma 2 Pro\n00:35 Note Air5 C\n01:05 Go 10.3 (Gen II) Series\n01:54 Go 6 (Gen II)\n02:15 Wrap-up", "BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity", 48, 143, false, "mvacYBW1M7w", "https://www.youtube.com/watch?v=mvacYBW1M7w", "/downloads/BOOX/Season 2026/s2026e073100 - BOOX ePaper Devices for Summer Reading, Outdoor Journaling or On-the-go Productivity.mp4", false, ~U[2026-07-31 11:00:29Z]] 03:29:57.603 [debug] QUERY OK source="sources" db=0.1ms idle=532.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.604 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 02:59:45Z], 48] 03:29:57.605 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Summer reading doesn’t have to be a daily fight. You can stop the “summer slide” and help kids actually want to read without the distractions of phones or tablets. See how a focus-first BOOX ePaper device lets kids borrow books with local library apps, annotate with NeoReader, and read anywhere (even in bright sun).\n\nWant a screen that helps your child stay focused and actually enjoy summer reading?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#SummerReading #ParentingTips #ReadingTips #KidsBooks #ePaper #BOOX #LibbyApp\n\n---\n00:00 - The summer slide problem \n00:00 - Make reading feel fun \n00:00 - Why tablets distract fast \n00:00 - Libby + NeoReader highlights \n00:00 - Read anywhere, stay focused", "Make Summer Reading Easy | BOOX", "842dae87-4f12-4103-96d3-48a2a9e51eec", false, 48, [], 116, false, "zcamwgwBgo0", "https://www.youtube.com/watch?v=zcamwgwBgo0", 2, "/downloads/BOOX/Season 2026/s2026e072400 - Make Summer Reading Easy | BOOX.mp4", false, false, 98, ~U[2026-07-24 02:59:45Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Summer reading doesn’t have to be a daily fight. You can stop the “summer slide” and help kids actually want to read without the distractions of phones or tablets. See how a focus-first BOOX ePaper device lets kids borrow books with local library apps, annotate with NeoReader, and read anywhere (even in bright sun).\n\nWant a screen that helps your child stay focused and actually enjoy summer reading?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#SummerReading #ParentingTips #ReadingTips #KidsBooks #ePaper #BOOX #LibbyApp\n\n---\n00:00 - The summer slide problem \n00:00 - Make reading feel fun \n00:00 - Why tablets distract fast \n00:00 - Libby + NeoReader highlights \n00:00 - Read anywhere, stay focused", "Make Summer Reading Easy | BOOX", 48, 116, false, "zcamwgwBgo0", "https://www.youtube.com/watch?v=zcamwgwBgo0", "/downloads/BOOX/Season 2026/s2026e072400 - Make Summer Reading Easy | BOOX.mp4", false, ~U[2026-07-24 02:59:45Z]] 03:29:57.605 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.606 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 16:00:01Z], 48] 03:29:57.607 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Turn reading into real retention with NeoReader settings that remove tiny distractions and keep you locked in. Learn how to build comfortable themes, adjust layout for deeper focus, use split screen to read and take notes at once, and highlight with purpose, then quickly review and export your markups. Active reading gets simpler, faster, and more memorable.\n\nReady to upgrade your reading setup with a BOOX device built for deep focus?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx#BOOX \n\n#NeoReader #ActiveReading #EPaper #StudyTips #NoteTaking #Productivity\n00:00 - Why active reading fails\n00:00 - Build a comfortable theme\n00:00 - Split screen note workflow\n00:00 - Highlights & smart annotations\n00:00 - Review, export, sync markups", "BOOX NeoReader Setup for Deep Focus Reading", "263aadee-1088-4e78-bb4a-c79a0680de1a", false, 48, [], 126, false, "R9mLEW7oyDQ", "https://www.youtube.com/watch?v=R9mLEW7oyDQ", 3, "/downloads/BOOX/Season 2026/s2026e070900 - BOOX NeoReader Setup for Deep Focus Reading.mp4", false, false, 98, ~U[2026-07-09 16:00:01Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Turn reading into real retention with NeoReader settings that remove tiny distractions and keep you locked in. Learn how to build comfortable themes, adjust layout for deeper focus, use split screen to read and take notes at once, and highlight with purpose, then quickly review and export your markups. Active reading gets simpler, faster, and more memorable.\n\nReady to upgrade your reading setup with a BOOX device built for deep focus?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx#BOOX \n\n#NeoReader #ActiveReading #EPaper #StudyTips #NoteTaking #Productivity\n00:00 - Why active reading fails\n00:00 - Build a comfortable theme\n00:00 - Split screen note workflow\n00:00 - Highlights & smart annotations\n00:00 - Review, export, sync markups", "BOOX NeoReader Setup for Deep Focus Reading", 48, 126, false, "R9mLEW7oyDQ", "https://www.youtube.com/watch?v=R9mLEW7oyDQ", "/downloads/BOOX/Season 2026/s2026e070900 - BOOX NeoReader Setup for Deep Focus Reading.mp4", false, ~U[2026-07-09 16:00:01Z]] 03:29:57.608 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.608 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-01 14:00:03Z], 48] 03:29:57.609 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ever finish an amazing book… then freeze on what to read next? This quick 10-minute system beats decision fatigue and keeps your reading streak alive. Build an “Always-Next Queue,” use lighter bridge reads between big books, and make starting ridiculously easy using just 10 minutes. Plus, organize and track everything smoothly on BOOX.\nWant a reading setup that makes it easier to choose, start, and stick with your next book?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #booktok #bookstagram #productivity #ereader #boox #habits \n00:00 - The “Next Book” Freeze \n00:25 - Decision Fatigue Explained \n00:45 - Build an Always-Next Queue \n01:20 - Use Bridge Reads Strategically \n02:05 - Make Starting Effortless", "The Fix to the Next Book Problem", "8dc59d0b-6a50-4f13-8b32-d8eb24cc1f01", false, 48, [], 134, false, "cNbxIuB3uVY", "https://www.youtube.com/watch?v=cNbxIuB3uVY", 4, "/downloads/BOOX/Season 2026/s2026e070100 - The Fix to the Next Book Problem.mp4", false, false, 98, ~U[2026-07-01 14:00:03Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Ever finish an amazing book… then freeze on what to read next? This quick 10-minute system beats decision fatigue and keeps your reading streak alive. Build an “Always-Next Queue,” use lighter bridge reads between big books, and make starting ridiculously easy using just 10 minutes. Plus, organize and track everything smoothly on BOOX.\nWant a reading setup that makes it easier to choose, start, and stick with your next book?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #booktok #bookstagram #productivity #ereader #boox #habits \n00:00 - The “Next Book” Freeze \n00:25 - Decision Fatigue Explained \n00:45 - Build an Always-Next Queue \n01:20 - Use Bridge Reads Strategically \n02:05 - Make Starting Effortless", "The Fix to the Next Book Problem", 48, 134, false, "cNbxIuB3uVY", "https://www.youtube.com/watch?v=cNbxIuB3uVY", "/downloads/BOOX/Season 2026/s2026e070100 - The Fix to the Next Book Problem.mp4", false, ~U[2026-07-01 14:00:03Z]] 03:29:57.609 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.610 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 15:45:07Z], 48] 03:29:57.611 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stop losing your commute to doomscrolling. This simple “default swap” turns dead time into real progress: read distraction-free on an ePaper device, plan your day, and capture ideas without endless feeds or notifications. Plus, load PDFs, articles, or language apps to learn on the go and arrive already ahead.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ePaper #Productivity #CommuteHacks #DigitalMinimalism #Reading #dailyplanning \n\n---\n00:21 - Why commutes get wasted \n00:34 - Swap the default behavior \n00:48 - Read without distractions \n01:08 - Plan and capture ideas \n01:17 - Learn with apps and PDFs \n01:33 - Quick wins before work", "Replacing Doomscrolling with BOOX", "7b520efa-ac88-4b82-8fc6-81da01555690", false, 48, [], 120, false, "vIJ-YoZgRQM", "https://www.youtube.com/watch?v=vIJ-YoZgRQM", 5, "/downloads/BOOX/Season 2026/s2026e062300 - Replacing Doomscrolling with BOOX.mp4", false, false, 98, ~U[2026-06-23 15:45:07Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Stop losing your commute to doomscrolling. This simple “default swap” turns dead time into real progress: read distraction-free on an ePaper device, plan your day, and capture ideas without endless feeds or notifications. Plus, load PDFs, articles, or language apps to learn on the go and arrive already ahead.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ePaper #Productivity #CommuteHacks #DigitalMinimalism #Reading #dailyplanning \n\n---\n00:21 - Why commutes get wasted \n00:34 - Swap the default behavior \n00:48 - Read without distractions \n01:08 - Plan and capture ideas \n01:17 - Learn with apps and PDFs \n01:33 - Quick wins before work", "Replacing Doomscrolling with BOOX", 48, 120, false, "vIJ-YoZgRQM", "https://www.youtube.com/watch?v=vIJ-YoZgRQM", "/downloads/BOOX/Season 2026/s2026e062300 - Replacing Doomscrolling with BOOX.mp4", false, ~U[2026-06-23 15:45:07Z]] 03:29:57.611 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.612 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 11:00:22Z], 48] 03:29:57.613 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can't decide which 10.3-inch BOOX tablet to be your new daily driver? In this video, we compare the Go 10.3 (Gen II), Go 10.3 (Gen II) Lumi, and Note Air5 C. Discover the differences between monochrome and color ePaper with and without front light options, and to figure out which one aligns with your needs, including reading, note-taking, and a nomadic lifestyle.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#productivity #digitalnotebook #android #epaper #tablet #boox #noteair5c #go103 \n**\n00:00 Opening\n00:11 Go 10.3 (Gen II) Series\n00:30 Go 10.3 (Gen II)\n00:46 Go 10.3 (Gen II) Lumi\n01:07 Sleek Design & Battery\n01:24 Nomadic Setup & Android Flexibility\n01:38 64GB Storage & 26+ Digital Formats\n01:46 Customizable Reading Settings\n01:53 Supports InkSense Plus Stylus\n02:17 Writing Tools within Notes App\n02:39 Note Air5 C\n02:54 Exclusive Smooth Refresh Mode\n03:09 Supports Keyboard Cover for Typing Needs\n03:13 Wrap-up", "BOOX 10.3\" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options", "f1d83267-225c-4c15-b10c-95a4ac37456e", false, 48, [], 203, false, "M-iL42NFgBU", "https://www.youtube.com/watch?v=M-iL42NFgBU", 6, "/downloads/BOOX/Season 2026/s2026e061700 - BOOX 10.3" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options.mp4", false, false, 98, ~U[2026-06-17 11:00:22Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Can't decide which 10.3-inch BOOX tablet to be your new daily driver? In this video, we compare the Go 10.3 (Gen II), Go 10.3 (Gen II) Lumi, and Note Air5 C. Discover the differences between monochrome and color ePaper with and without front light options, and to figure out which one aligns with your needs, including reading, note-taking, and a nomadic lifestyle.\n\n【Order yours today with a free protective case in our official shop.】\nhttps://shop.boox.com/\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#productivity #digitalnotebook #android #epaper #tablet #boox #noteair5c #go103 \n**\n00:00 Opening\n00:11 Go 10.3 (Gen II) Series\n00:30 Go 10.3 (Gen II)\n00:46 Go 10.3 (Gen II) Lumi\n01:07 Sleek Design & Battery\n01:24 Nomadic Setup & Android Flexibility\n01:38 64GB Storage & 26+ Digital Formats\n01:46 Customizable Reading Settings\n01:53 Supports InkSense Plus Stylus\n02:17 Writing Tools within Notes App\n02:39 Note Air5 C\n02:54 Exclusive Smooth Refresh Mode\n03:09 Supports Keyboard Cover for Typing Needs\n03:13 Wrap-up", "BOOX 10.3\" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options", 48, 203, false, "M-iL42NFgBU", "https://www.youtube.com/watch?v=M-iL42NFgBU", "/downloads/BOOX/Season 2026/s2026e061700 - BOOX 10.3" Tablet as Your New Daily Driver: B&W, Color, or the Front Light Options.mp4", false, ~U[2026-06-17 11:00:22Z]] 03:29:57.614 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.614 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 03:11:01Z], 48] 03:29:57.615 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet the BOOX Go 6 (Gen II): a 160g, 6.8mm ePaper device built for the in-between moments. It's a travel gadget, a daily sidekick, and a library you can take with you anywhere. Its suitcase-textured back ensures a secure grip, while the sharp 300 PPI screen stays clear in sun with adjustable front light. No matter where your life takes you, the Go 6 (Gen II) is designed to give you the freedom to go. \n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #Go6 #ePaper #EInk #AndroidTablet #ReadingOnTheGo #TechGadgets\n\n---\n00:17 - The brand new Go 6 (Gen II) \n00:26 - Grip texture design\n00:34 - Ultra-portable build\n01:05 - The reading experience\n01:26 - Writing and notes\n01:35 - Google Play Store\n01:44 - Storage and formats\n01:59 - Overview", "Pocket ePaper Made for Everywhere", "541de1ed-b119-40ef-822e-9ad0b43a1b4d", false, 48, [], 157, false, "gkwOtbh646k", "https://www.youtube.com/watch?v=gkwOtbh646k", 7, "/downloads/BOOX/Season 2026/s2026e061200 - Pocket ePaper Made for Everywhere.mp4", false, false, 98, ~U[2026-06-12 03:11:01Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Meet the BOOX Go 6 (Gen II): a 160g, 6.8mm ePaper device built for the in-between moments. It's a travel gadget, a daily sidekick, and a library you can take with you anywhere. Its suitcase-textured back ensures a secure grip, while the sharp 300 PPI screen stays clear in sun with adjustable front light. No matter where your life takes you, the Go 6 (Gen II) is designed to give you the freedom to go. \n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/\n\n#BOOX #Go6 #ePaper #EInk #AndroidTablet #ReadingOnTheGo #TechGadgets\n\n---\n00:17 - The brand new Go 6 (Gen II) \n00:26 - Grip texture design\n00:34 - Ultra-portable build\n01:05 - The reading experience\n01:26 - Writing and notes\n01:35 - Google Play Store\n01:44 - Storage and formats\n01:59 - Overview", "Pocket ePaper Made for Everywhere", 48, 157, false, "gkwOtbh646k", "https://www.youtube.com/watch?v=gkwOtbh646k", "/downloads/BOOX/Season 2026/s2026e061200 - Pocket ePaper Made for Everywhere.mp4", false, ~U[2026-06-12 03:11:01Z]] 03:29:57.616 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.617 [debug] QUERY OK source="media_items" db=0.8ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 11:00:08Z], 48] 03:29:57.618 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Learn how to optimize third-party apps on your BOOX ePaper device. In this tutorial, we walk through Refresh, Display, Color, and Others settings to help you improve readability, speed up performance, and customize apps downloaded from the Google Play Store for a more personalized ePaper experience.\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #tutorial #epaper #thirdpartyapp #settings #android #noteair5c \n** \n00:00 Opening\n00:04 Third-party Apps Optimization\n00:18 Refresh Tab\n00:55 Display Tab \n01:26 Color Tab\n01:36 Others Tab\n02:17 Wrap-up", "Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20", "42643584-b68a-4669-ae86-c5b486a58c9c", false, 48, [], 151, false, "wrpKKFkziyk", "https://www.youtube.com/watch?v=wrpKKFkziyk", 8, "/downloads/BOOX/Season 2026/s2026e061100 - Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20.mp4", false, false, 98, ~U[2026-06-11 11:00:08Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Learn how to optimize third-party apps on your BOOX ePaper device. In this tutorial, we walk through Refresh, Display, Color, and Others settings to help you improve readability, speed up performance, and customize apps downloaded from the Google Play Store for a more personalized ePaper experience.\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #tutorial #epaper #thirdpartyapp #settings #android #noteair5c \n** \n00:00 Opening\n00:04 Third-party Apps Optimization\n00:18 Refresh Tab\n00:55 Display Tab \n01:26 Color Tab\n01:36 Others Tab\n02:17 Wrap-up", "Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20", 48, 151, false, "wrpKKFkziyk", "https://www.youtube.com/watch?v=wrpKKFkziyk", "/downloads/BOOX/Season 2026/s2026e061100 - Optimize Third-party Apps on BOOX Devices - BOOX Tutorial Ep20.mp4", false, ~U[2026-06-11 11:00:08Z]] 03:29:57.618 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.619 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-09 02:39:06Z], 48] 03:29:57.620 [debug] QUERY OK source="media_items" db=1.0ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["BOOX Go 6 (Gen II) is the new 6\" ePaper reader designed for life on the move. It features a 300 PPI monochrome ePaper display, 3GB+32GB of storage, microSD card slot, and a refreshed design inspired by a traveler's suitcase, available in four colors.\n\nRunning on an open Android OS with the Google Play Store built in, it gives you the freedom to download your favorite apps. When paired with the BOOX InkSense Plus stylus, it transforms into a pocket jotter for writing and doodling in the moment. Small enough to take everywhere, yet big enough to hold everything you need on the road, this eReader is built to be your everyday carry and travel companion.\n\nThe standard bundle includes:\nBOOX Go 6 (Gen II) x 1\nUSB-C Cable x 1\nCard Tray Eject Tool x 1\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today to get a free magnetic protective cover in our official shop.\nhttps://shop.boox.com/products/go6gen2\nBOOX InkSense Plus is available at:\nhttps://shop.boox.com/collections/accessories/products/boox-inksense-plus-stylus\nThe Matte TPU Case is available at:\nhttps://shop.boox.com/collections/accessories/products/go6gen2-tpu-case\n\n📝 If you have any questions about this device, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxgo6 #unboxing #boox #newproduct #go6gen2 #ereader #epaper", "BOOX Go 6 (Gen II) Official Unboxing", "915b7221-b218-4957-8fe6-839604242dd1", false, 48, [], 57, false, "wALLcs2qkrI", "https://www.youtube.com/watch?v=wALLcs2qkrI", 9, "/downloads/BOOX/Season 2026/s2026e060900 - BOOX Go 6 (Gen II) Official Unboxing.mp4", false, false, 97, ~U[2026-06-09 02:39:06Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "BOOX Go 6 (Gen II) is the new 6\" ePaper reader designed for life on the move. It features a 300 PPI monochrome ePaper display, 3GB+32GB of storage, microSD card slot, and a refreshed design inspired by a traveler's suitcase, available in four colors.\n\nRunning on an open Android OS with the Google Play Store built in, it gives you the freedom to download your favorite apps. When paired with the BOOX InkSense Plus stylus, it transforms into a pocket jotter for writing and doodling in the moment. Small enough to take everywhere, yet big enough to hold everything you need on the road, this eReader is built to be your everyday carry and travel companion.\n\nThe standard bundle includes:\nBOOX Go 6 (Gen II) x 1\nUSB-C Cable x 1\nCard Tray Eject Tool x 1\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today to get a free magnetic protective cover in our official shop.\nhttps://shop.boox.com/products/go6gen2\nBOOX InkSense Plus is available at:\nhttps://shop.boox.com/collections/accessories/products/boox-inksense-plus-stylus\nThe Matte TPU Case is available at:\nhttps://shop.boox.com/collections/accessories/products/go6gen2-tpu-case\n\n📝 If you have any questions about this device, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxgo6 #unboxing #boox #newproduct #go6gen2 #ereader #epaper", "BOOX Go 6 (Gen II) Official Unboxing", 48, 57, false, "wALLcs2qkrI", "https://www.youtube.com/watch?v=wALLcs2qkrI", "/downloads/BOOX/Season 2026/s2026e060900 - BOOX Go 6 (Gen II) Official Unboxing.mp4", false, ~U[2026-06-09 02:39:06Z]] 03:29:57.621 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.621 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 14:00:16Z], 48] 03:29:57.622 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Forget messy meeting notes you never revisit. This simple template turns any discussion into clear next steps. It’s the fastest way to stop “What did we agree on?” and start moving forward. Which BOOX device are you considering for distraction-free note-taking?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/ \n\n#meetingnotes #studyhack #notetaking #actionitems #worksmart #boox \n \n00:11 - The note to save your week\n00:23 - Record your meetings\n00:32 - Capture key points\n00:50 - Track decisions \n01:12 - Questions and Action items \n01:23 - Shortcut items to your calendar \n01:30 - Sync to your other calendars", "BOOX + Recording = Notes You’ll Actually Use", "326db982-8036-4fef-abe6-fcbed4bea585", false, 48, [], 116, false, "9AEax3hPb54", "https://www.youtube.com/watch?v=9AEax3hPb54", 10, "/downloads/BOOX/Season 2026/s2026e052100 - BOOX + Recording = Notes You’ll Actually Use.mp4", false, false, 98, ~U[2026-05-21 14:00:16Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Forget messy meeting notes you never revisit. This simple template turns any discussion into clear next steps. It’s the fastest way to stop “What did we agree on?” and start moving forward. Which BOOX device are you considering for distraction-free note-taking?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/ \n\n#meetingnotes #studyhack #notetaking #actionitems #worksmart #boox \n \n00:11 - The note to save your week\n00:23 - Record your meetings\n00:32 - Capture key points\n00:50 - Track decisions \n01:12 - Questions and Action items \n01:23 - Shortcut items to your calendar \n01:30 - Sync to your other calendars", "BOOX + Recording = Notes You’ll Actually Use", 48, 116, false, "9AEax3hPb54", "https://www.youtube.com/watch?v=9AEax3hPb54", "/downloads/BOOX/Season 2026/s2026e052100 - BOOX + Recording = Notes You’ll Actually Use.mp4", false, ~U[2026-05-21 14:00:16Z]] 03:29:57.623 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.624 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 03:00:17Z], 48] 03:29:57.625 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Upgrade your BOOX device to Firmware V4.2 for easier, more personalized settings. Apply EinkWise Code for instant display settings. Create and manage your schedules seamlessly in Calendar Memo. Updates for the Notes app, like the brand-new Template Hub, Scroll page layout, and optimized writing tools, make it more efficient to take notes. Whether you’re a long-time BOOX user or just getting started, settings are now simpler.\n\n【Learn more about our latest firmware】\nhttps://shop.boox.com/pages/firmware\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #firmwareupdate #firmware #booxfirmware #einktablet #epaper #eink #android #androidtablet #technology #epapertabletpc #productivity #colorepaper #noteair5c\n** \n00:00 Opening\n00:13 Template Hub\n00:43 Scroll Page Layout\n01:06 Pressure Sensitivity for the Pen Brush\n01:15 Eraser\n01:30 Optimized Lasso Tool\n02:14 Floating Side Toolbar\n02:21 New Calendar Memo\n02:56 EinkWise Code for Third-party Apps\n03:21 Image Smoothing\n03:39 AI Assistant in NeoReader\n04:03 Wrap-up", "What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools", "ac7c7a2b-f417-4931-b825-5a0055153254", false, 48, [], 277, false, "NtDesD2eM04", "https://www.youtube.com/watch?v=NtDesD2eM04", 11, "/downloads/BOOX/Season 2026/s2026e051800 - What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools.mp4", false, false, 98, ~U[2026-05-18 03:00:17Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Upgrade your BOOX device to Firmware V4.2 for easier, more personalized settings. Apply EinkWise Code for instant display settings. Create and manage your schedules seamlessly in Calendar Memo. Updates for the Notes app, like the brand-new Template Hub, Scroll page layout, and optimized writing tools, make it more efficient to take notes. Whether you’re a long-time BOOX user or just getting started, settings are now simpler.\n\n【Learn more about our latest firmware】\nhttps://shop.boox.com/pages/firmware\n\n【Check our BOOX Tutorials playlist to learn more about how to use our devices.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsDEx0k3rsoW6fONwzI5NovE\n\n【Check out our BOOX Advanced Tips to learn more about how to use our devices for work, school, and everyday life.】\nhttps://www.youtube.com/playlist?list=PL6pkMZp22UsD-5j4WHBcT1KpHeTuGKOC1\n\n#boox #firmwareupdate #firmware #booxfirmware #einktablet #epaper #eink #android #androidtablet #technology #epapertabletpc #productivity #colorepaper #noteair5c\n** \n00:00 Opening\n00:13 Template Hub\n00:43 Scroll Page Layout\n01:06 Pressure Sensitivity for the Pen Brush\n01:15 Eraser\n01:30 Optimized Lasso Tool\n02:14 Floating Side Toolbar\n02:21 New Calendar Memo\n02:56 EinkWise Code for Third-party Apps\n03:21 Image Smoothing\n03:39 AI Assistant in NeoReader\n04:03 Wrap-up", "What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools", 48, 277, false, "NtDesD2eM04", "https://www.youtube.com/watch?v=NtDesD2eM04", "/downloads/BOOX/Season 2026/s2026e051800 - What's New in Firmware V4.2: Calendar Management, EinkWise Settings, and Writing Tools.mp4", false, ~U[2026-05-18 03:00:17Z]] 03:29:57.626 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.627 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 16:00:59Z], 48] 03:29:57.628 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What if your screen time could support your mental health? BOOX ePaper devices can help you feel calmer, by cutting notifications, reducing doomscroll temptation, and giving you unparelled access to the mental health apps you need.\n\nReady to swap endless scrolling for a calmer, more intentional screen experience? Order yours today.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#MentalHealth #ScreenTime #DigitalWellbeing #EInk #Journaling #Mindfulness #BOOX\n\n00:00 - Tech and anxiety check\n00:18 - Why distractions drain you\n01:05 - Cutting notifications for peace\n01:45 - ePaper vs doomscrolling\n02:35 - Better sleep, gentler eyes\n03:15 - Journaling and therapy apps", "How BOOX Supports Your Mental Health Journey", "dc3bc980-d1e0-4166-b6cf-6228727096da", false, 48, [], 128, false, "eyUHUlhpR7U", "https://www.youtube.com/watch?v=eyUHUlhpR7U", 12, "/downloads/BOOX/Season 2026/s2026e051500 - How BOOX Supports Your Mental Health Journey.mp4", false, false, 98, ~U[2026-05-15 16:00:59Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "What if your screen time could support your mental health? BOOX ePaper devices can help you feel calmer, by cutting notifications, reducing doomscroll temptation, and giving you unparelled access to the mental health apps you need.\n\nReady to swap endless scrolling for a calmer, more intentional screen experience? Order yours today.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#MentalHealth #ScreenTime #DigitalWellbeing #EInk #Journaling #Mindfulness #BOOX\n\n00:00 - Tech and anxiety check\n00:18 - Why distractions drain you\n01:05 - Cutting notifications for peace\n01:45 - ePaper vs doomscrolling\n02:35 - Better sleep, gentler eyes\n03:15 - Journaling and therapy apps", "How BOOX Supports Your Mental Health Journey", 48, 128, false, "eyUHUlhpR7U", "https://www.youtube.com/watch?v=eyUHUlhpR7U", "/downloads/BOOX/Season 2026/s2026e051500 - How BOOX Supports Your Mental Health Journey.mp4", false, ~U[2026-05-15 16:00:59Z]] 03:29:57.628 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.629 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 02:30:03Z], 48] 03:29:57.630 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The BOOX Tappy is a wireless page turner for BOOX ePaper devices. It's designed to be your thoughtful reading companion while you are using your BOOX devices. This gadget promises a more relaxed, effortless reading experience, whether you are reading in bed or listening to audiobooks. \n\nUpdate your BOOX devices to Firmware V4.2 or later to enjoy more advanced BOOX Tappy settings, including button customization.\n\nThe package includes:\nBOOX Tappy x 1\nSpare Keycap x 2\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today in our official shop.\nhttps://shop.boox.com/products/boox-tappy-wireless-pageturner\n\n📝 If you have any questions about this accessory, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxtappy #unboxing #boox #newproduct #tappy #pageturner #epaper", "BOOX Tappy Wireless Page Turner Official Unboxing", "b9f09795-8d18-4210-9616-80117a128e92", false, 48, [], 42, false, "4AOf6hRwvc0", "https://www.youtube.com/watch?v=4AOf6hRwvc0", 13, "/downloads/BOOX/Season 2026/s2026e051100 - BOOX Tappy Wireless Page Turner Official Unboxing.mp4", false, false, 98, ~U[2026-05-11 02:30:03Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "The BOOX Tappy is a wireless page turner for BOOX ePaper devices. It's designed to be your thoughtful reading companion while you are using your BOOX devices. This gadget promises a more relaxed, effortless reading experience, whether you are reading in bed or listening to audiobooks. \n\nUpdate your BOOX devices to Firmware V4.2 or later to enjoy more advanced BOOX Tappy settings, including button customization.\n\nThe package includes:\nBOOX Tappy x 1\nSpare Keycap x 2\nQuick Start Guide x 1\nWarranty Card x 1\n\n🛒 Order yours today in our official shop.\nhttps://shop.boox.com/products/boox-tappy-wireless-pageturner\n\n📝 If you have any questions about this accessory, please post them in the Reviews&QA section of the product page, and our customer service will reply to you with details.\n\n#booxtappy #unboxing #boox #newproduct #tappy #pageturner #epaper", "BOOX Tappy Wireless Page Turner Official Unboxing", 48, 42, false, "4AOf6hRwvc0", "https://www.youtube.com/watch?v=4AOf6hRwvc0", "/downloads/BOOX/Season 2026/s2026e051100 - BOOX Tappy Wireless Page Turner Official Unboxing.mp4", false, ~U[2026-05-11 02:30:03Z]] 03:29:57.631 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.631 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 02:30:58Z], 48] 03:29:57.632 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ever get perfectly cozy… then realize you have to move to tap “next page”? Meet Tappy, BOOX’s wireless Bluetooth page-turner remote built for hands-free reading. Switch between Reading Mode for forward/back clicks, Browsing Mode for smooth scrolling, and Multimedia Mode for playback control. Stay warm, stay immersed, and read longer without touching your device.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ereader #pageturner #readingsetup #booktok #audiobooks #techaccessories\n\n---\n00:20 - The cozy reading problem\n00:40 - What is Tappy?\n00:48 - What does Tappy do?\n00:32 - Reading Mode \n01:07 - Browsing Mode\n01:18 - Multimedia Mode \n01:32 - Switching modes", "Hands‑Free Reading with BOOX", "b7533896-d10d-4116-a06f-eca79af9bfb1", false, 48, [], 137, false, "sMslx-pZ69Y", "https://www.youtube.com/watch?v=sMslx-pZ69Y", 14, "/downloads/BOOX/Season 2026/s2026e050800 - Hands‑Free Reading with BOOX.mp4", false, false, 98, ~U[2026-05-08 02:30:58Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Ever get perfectly cozy… then realize you have to move to tap “next page”? Meet Tappy, BOOX’s wireless Bluetooth page-turner remote built for hands-free reading. Switch between Reading Mode for forward/back clicks, Browsing Mode for smooth scrolling, and Multimedia Mode for playback control. Stay warm, stay immersed, and read longer without touching your device.\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #ereader #pageturner #readingsetup #booktok #audiobooks #techaccessories\n\n---\n00:20 - The cozy reading problem\n00:40 - What is Tappy?\n00:48 - What does Tappy do?\n00:32 - Reading Mode \n01:07 - Browsing Mode\n01:18 - Multimedia Mode \n01:32 - Switching modes", "Hands‑Free Reading with BOOX", 48, 137, false, "sMslx-pZ69Y", "https://www.youtube.com/watch?v=sMslx-pZ69Y", "/downloads/BOOX/Season 2026/s2026e050800 - Hands‑Free Reading with BOOX.mp4", false, ~U[2026-05-08 02:30:58Z]] 03:29:57.633 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.633 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 16:00:00Z], 48] 03:29:57.634 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Beat procrastination with a simple 10-minute writing sprint. Learn how to set up a distraction-free space, choose an easy goal, start a timer, and get words flowing fast. Discover why a BOOX ePaper workspace helps you brainstorm, convert handwriting to text, and build momentum that lasts.\nWhat would you create with a 10-minute daily writing sprint on a distraction-free ePaper device?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#writingtips #productivity #focus #boox #epaper #digitalnotebook\n--\n00:15 - A distraction free writing sprint \n00:21 - Set up your space\n00:42 - Make a goal\n01:07 - BOOX features that make the difference\n01:39 - Battery that doesn't quit", "Distraction-Free Writing | BOOX", "df239262-1a09-45b4-b849-246dd5fecc86", false, 48, [], 129, false, "-0rJa2riq6k", "https://www.youtube.com/watch?v=-0rJa2riq6k", 15, "/downloads/BOOX/Season 2026/s2026e043000 - Distraction-Free Writing | BOOX.mp4", false, false, 98, ~U[2026-04-30 16:00:00Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Beat procrastination with a simple 10-minute writing sprint. Learn how to set up a distraction-free space, choose an easy goal, start a timer, and get words flowing fast. Discover why a BOOX ePaper workspace helps you brainstorm, convert handwriting to text, and build momentum that lasts.\nWhat would you create with a 10-minute daily writing sprint on a distraction-free ePaper device?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#writingtips #productivity #focus #boox #epaper #digitalnotebook\n--\n00:15 - A distraction free writing sprint \n00:21 - Set up your space\n00:42 - Make a goal\n01:07 - BOOX features that make the difference\n01:39 - Battery that doesn't quit", "Distraction-Free Writing | BOOX", 48, 129, false, "-0rJa2riq6k", "https://www.youtube.com/watch?v=-0rJa2riq6k", "/downloads/BOOX/Season 2026/s2026e043000 - Distraction-Free Writing | BOOX.mp4", false, ~U[2026-04-30 16:00:00Z]] 03:29:57.634 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.635 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-23 15:01:22Z], 48] 03:29:57.636 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Are you juggling remote work, meetings on the move, endless PDFs, and a to-do list that never quits? Here’s a distraction-light workflow that fits in a backpack.\n\nSee how the Note Air5 C, and the Go 10.3 (Gen II) Lumi help you keep everything in one place. With seamless sync and the right screen for every task, you can stay organized wherever work happens.\nWhat would you do with a setup like this?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #EInk #Workflow #Productivity #Go10.3 #NoteAir5C #ePaper #DigitalMinimalism\n\n---\n00:26 - Your workflow, without distractions\n00:41 - Premade templates\n00:58 - Research \n01:08 - Everything in one place\n01:31 - Keyboard cover\n01:53 - Onyx cloud", "The Backpack Workflow | BOOX", "b3a67e0c-99fc-40ff-bef6-2a9e6e001338", false, 48, [], 146, false, "iteGAiu-mtA", "https://www.youtube.com/watch?v=iteGAiu-mtA", 16, "/downloads/BOOX/Season 2026/s2026e042300 - The Backpack Workflow | BOOX.mp4", false, false, 98, ~U[2026-04-23 15:01:22Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Are you juggling remote work, meetings on the move, endless PDFs, and a to-do list that never quits? Here’s a distraction-light workflow that fits in a backpack.\n\nSee how the Note Air5 C, and the Go 10.3 (Gen II) Lumi help you keep everything in one place. With seamless sync and the right screen for every task, you can stay organized wherever work happens.\nWhat would you do with a setup like this?\n\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #EInk #Workflow #Productivity #Go10.3 #NoteAir5C #ePaper #DigitalMinimalism\n\n---\n00:26 - Your workflow, without distractions\n00:41 - Premade templates\n00:58 - Research \n01:08 - Everything in one place\n01:31 - Keyboard cover\n01:53 - Onyx cloud", "The Backpack Workflow | BOOX", 48, 146, false, "iteGAiu-mtA", "https://www.youtube.com/watch?v=iteGAiu-mtA", "/downloads/BOOX/Season 2026/s2026e042300 - The Backpack Workflow | BOOX.mp4", false, ~U[2026-04-23 15:01:22Z]] 03:29:57.636 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.637 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 18:01:00Z], 48] 03:29:57.639 [debug] QUERY OK source="media_items" db=2.0ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Discover how deep reading helps you slow down, stay focused, and turn information into real understanding. Learn a simple step-by-step routine, from setting an intention to summarizing key ideas, plus practical BOOX tips like split-screen notes and distraction-free reading to boost comprehension and retention.\n\nReady to try deep reading on a BOOX tablet and upgrade your focus?\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #DeepReading #ReadingTips #StudySkills #DigitalNoteTaking #Productivity #EInk\n\n---\n00:18 - What is deep reading?\n00:35 - How to reduce distractions\n00:45 - Setting an intention\n01:07 - Read in chunks\n01:13 - Summarize what you've learned", "Deep Reading Routine | BOOX", "4ac559e2-5c3e-4b80-b6be-9b4f0c2e7be8", false, 48, [], 110, false, "r2z4dGft6xw", "https://www.youtube.com/watch?v=r2z4dGft6xw", 17, "/downloads/BOOX/Season 2026/s2026e041600 - Deep Reading Routine | BOOX.mp4", false, false, 98, ~U[2026-04-16 18:01:00Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Discover how deep reading helps you slow down, stay focused, and turn information into real understanding. Learn a simple step-by-step routine, from setting an intention to summarizing key ideas, plus practical BOOX tips like split-screen notes and distraction-free reading to boost comprehension and retention.\n\nReady to try deep reading on a BOOX tablet and upgrade your focus?\nOrder yours today with exclusive savings in our official shop.\nhttps://shop.boox.com/?ref=imfpznsx\n\n#BOOX #DeepReading #ReadingTips #StudySkills #DigitalNoteTaking #Productivity #EInk\n\n---\n00:18 - What is deep reading?\n00:35 - How to reduce distractions\n00:45 - Setting an intention\n01:07 - Read in chunks\n01:13 - Summarize what you've learned", "Deep Reading Routine | BOOX", 48, 110, false, "r2z4dGft6xw", "https://www.youtube.com/watch?v=r2z4dGft6xw", "/downloads/BOOX/Season 2026/s2026e041600 - Deep Reading Routine | BOOX.mp4", false, ~U[2026-04-16 18:01:00Z]] 03:29:57.640 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.641 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 18:00:36Z], 48] 03:29:57.651 [debug] QUERY OK source="media_items" db=9.9ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Introducing the Go 10.3 (Gen II) Series, featuring 10.3-inch thin ePaper tablets in two models: the Go 10.3 (Gen II) without a front light for pure clarity, and the Go 10.3 (Gen II) Lumi with a front light for day and night reading.\n\nThese tablets are ideal as a mindful second brain, offering access to essential apps via the built-in Google Play Store. Both run on Android 15, have an HD monochrome ePaper display, offer 64GB of storage, and are sunlight-readable and portable for daily use.\n\nLearn more about BOOX Go 10.3 (Gen II) Series at:\nhttps://shop.boox.com/products/go103gen2\n\n#ePaper #mindfulness #digitalnotebook #digitalnomad #booxgo103gen2 #boox", "BOOX Go 10.3 (Gen II) Series: 10.3'' Thin & Lightweight ePaper Tablets", "c15e8a8e-f199-4a24-9adb-012a6e82010f", false, 48, [], 36, false, "XzIZmk01Rgo", "https://www.youtube.com/watch?v=XzIZmk01Rgo", 18, "/downloads/BOOX/Season 2026/s2026e041400 - BOOX Go 10.3 (Gen II) Series: 10.3'' Thin & Lightweight ePaper Tablets.mp4", false, false, 98, ~U[2026-04-14 18:00:36Z], ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], "Introducing the Go 10.3 (Gen II) Series, featuring 10.3-inch thin ePaper tablets in two models: the Go 10.3 (Gen II) without a front light for pure clarity, and the Go 10.3 (Gen II) Lumi with a front light for day and night reading.\n\nThese tablets are ideal as a mindful second brain, offering access to essential apps via the built-in Google Play Store. Both run on Android 15, have an HD monochrome ePaper display, offer 64GB of storage, and are sunlight-readable and portable for daily use.\n\nLearn more about BOOX Go 10.3 (Gen II) Series at:\nhttps://shop.boox.com/products/go103gen2\n\n#ePaper #mindfulness #digitalnotebook #digitalnomad #booxgo103gen2 #boox", "BOOX Go 10.3 (Gen II) Series: 10.3'' Thin & Lightweight ePaper Tablets", 48, 36, false, "XzIZmk01Rgo", "https://www.youtube.com/watch?v=XzIZmk01Rgo", "/downloads/BOOX/Season 2026/s2026e041400 - BOOX Go 10.3 (Gen II) Series: 10.3'' Thin & Lightweight ePaper Tablets.mp4", false, ~U[2026-04-14 18:00:36Z]] 03:29:57.652 [debug] QUERY OK source="sources" db=0.4ms idle=14.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z], 48] 03:29:57.653 [debug] QUERY OK source="media_items" db=0.7ms idle=12.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [48] 03:29:57.654 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133802, 5152734, ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z]] 03:29:57.655 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133803, 5210449, ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z]] 03:29:57.656 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133804, 5237286, ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z]] 03:29:57.657 [debug] QUERY OK source="media_items" db=0.7ms idle=1.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [48] 03:29:57.658 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [48] 03:29:57.659 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133805, 48, ~U[2026-08-05 01:29:57Z], ~U[2026-08-05 01:29:57Z]] 03:29:57.659 [info] {"args":{"id":48},"id":133301,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":27788807,"event":"job:stop","queue_time":829003,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:57.660 [info] {"args":{"id":5152734},"id":133802,"meta":{},"system_time":1785893397660720211,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:57.660 [info] {"args":{"id":5210449},"id":133803,"meta":{},"system_time":1785893397660751797,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:57.661 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5152734] 03:29:57.661 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:57.661 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5210449] 03:29:57.661 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:57.661 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.661 [debug] QUERY OK source="sources" db=0.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:57.661 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.661 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.662 [debug] QUERY OK source="media_items" db=0.2ms idle=0.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5152734] 03:29:57.662 [debug] QUERY OK source="media_items" db=0.1ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210449] 03:29:57.662 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5152734] 03:29:57.663 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5210449] 03:29:57.663 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.663 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.663 [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 [] 03:29:57.663 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.663 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.663 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.663 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:57.664 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:57.664 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R9mLEW7oyDQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/05/1405bee1ae60f41d3eb23ff41957faa9a2a3eb4b44315181c308a5a44dfb108c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:57.664 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.664 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zcamwgwBgo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/fd/31fd08aa369a69163186e7828f50cae21b34b11bf93644dbe1cc981a97e0aa0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:57.666 [info] {"args":{"id":67},"id":133316,"meta":{},"system_time":1785893397665933898,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:29:57.666 [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" = ?) [67] 03:29:57.666 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.679 [debug] QUERY OK source="media_items" db=12.5ms idle=2.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [67] 03:29:57.680 [debug] QUERY OK source="media_items" db=0.5ms idle=14.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [67] 03:29:57.680 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:57.680 [debug] QUERY OK source="settings" db=0.0ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.681 [debug] QUERY OK source="settings" db=0.0ms idle=14.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.682 [debug] QUERY OK source="media_items" db=0.9ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [67] 03:29:57.683 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:29:57.683 [debug] Current batch of media processed. Will check again in 1000ms 03:29:57.683 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.684 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.684 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:57.684 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@HardwareHaven --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/9d/4b/9d4b84d15acc2183235c8a12048fac72225ebb9f01116dcb5842615c0dbcdccb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b7/51/b7519e5b5916796dd49b2fcae2ea72ff189126983a86379ee86e64a42235a870.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:57.967 [debug] Current batch of media processed. Will check again in 1000ms 03:29:58.684 [debug] Current batch of media processed. Will check again in 1000ms 03:29:58.968 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "How to fix your awful attention span.\n\nThis video describes 35 things that I have implemented into my life to help fix my wavering focus and compromised attention span.\n\nMy attention span is something that I have always struggled with. Through a combination of experiments, research and trial and error, I have compiled together this list of things that helps me maintain focus.\n\nDon’t expect your broken attention span to be fixed as a consequence of watching one short video. Your focus and attention span needs to be developed like a muscle. It needs to be trained consistently, but it also needs rest.\n\nPerhaps the single most important thing that I did in order to fix my awful attention span was to stop so much consumption. I was guilty of always reading, watching or listening to something - filling every minute with constant stimulation. Whilst this made me feel like I was constantly learning and staying up to date with current affairs, the truth is I was over-stimulating my brain. This made it impossible for me to maintain focus. My attention span was broken.\n\nThe video is broken down into five short sections.\n\nTime stamps:\n\n00.00: Part 1 - Environment\n01.11: Part 2 - Train yourself for deep focus\n02.16: Part 3 - Strengthen your attention like a muscle\n03.25: Part 4 - Your biological foundation\n04.17: Part 5 - Reduce stimulation\n\nSign up to my emails on forming positive habits 👉 https://www.richn.co.uk", "duration" => 326, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e022000 - Proven ways to fix your attention span.mp4", "id" => "d6VWMNL51c4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d6VWMNL51c4", "playlist_index" => 6, "timestamp" => 1771605906, "title" => "Proven ways to fix your attention span", "upload_date" => "20260220"} 03:29:58.969 [debug] QUERY OK source="sources" db=0.1ms idle=193.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:58.969 [debug] QUERY OK source="sources" db=0.1ms idle=193.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:58.969 [debug] QUERY OK source="media_items" db=0.3ms idle=194.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-20 16:45:06Z], 38] 03:29:58.980 [debug] QUERY OK source="media_items" db=10.4ms idle=194.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["How to fix your awful attention span.\n\nThis video describes 35 things that I have implemented into my life to help fix my wavering focus and compromised attention span.\n\nMy attention span is something that I have always struggled with. Through a combination of experiments, research and trial and error, I have compiled together this list of things that helps me maintain focus.\n\nDon’t expect your broken attention span to be fixed as a consequence of watching one short video. Your focus and attention span needs to be developed like a muscle. It needs to be trained consistently, but it also needs rest.\n\nPerhaps the single most important thing that I did in order to fix my awful attention span was to stop so much consumption. I was guilty of always reading, watching or listening to something - filling every minute with constant stimulation. Whilst this made me feel like I was constantly learning and staying up to date with current affairs, the truth is I was over-stimulating my brain. This made it impossible for me to maintain focus. My attention span was broken.\n\nThe video is broken down into five short sections.\n\nTime stamps:\n\n00.00: Part 1 - Environment\n01.11: Part 2 - Train yourself for deep focus\n02.16: Part 3 - Strengthen your attention like a muscle\n03.25: Part 4 - Your biological foundation\n04.17: Part 5 - Reduce stimulation\n\nSign up to my emails on forming positive habits 👉 https://www.richn.co.uk", "Proven ways to fix your attention span", "47282d56-3ff8-4471-91ff-ba1c29592c5f", false, 38, [], 326, false, "d6VWMNL51c4", "https://www.youtube.com/watch?v=d6VWMNL51c4", 6, "/downloads/SwiftFilms/Season 2026/s2026e022000 - Proven ways to fix your attention span.mp4", false, false, 98, ~U[2026-02-20 16:45:06Z], ~U[2026-08-05 01:29:58Z], ~U[2026-08-05 01:29:58Z], "How to fix your awful attention span.\n\nThis video describes 35 things that I have implemented into my life to help fix my wavering focus and compromised attention span.\n\nMy attention span is something that I have always struggled with. Through a combination of experiments, research and trial and error, I have compiled together this list of things that helps me maintain focus.\n\nDon’t expect your broken attention span to be fixed as a consequence of watching one short video. Your focus and attention span needs to be developed like a muscle. It needs to be trained consistently, but it also needs rest.\n\nPerhaps the single most important thing that I did in order to fix my awful attention span was to stop so much consumption. I was guilty of always reading, watching or listening to something - filling every minute with constant stimulation. Whilst this made me feel like I was constantly learning and staying up to date with current affairs, the truth is I was over-stimulating my brain. This made it impossible for me to maintain focus. My attention span was broken.\n\nThe video is broken down into five short sections.\n\nTime stamps:\n\n00.00: Part 1 - Environment\n01.11: Part 2 - Train yourself for deep focus\n02.16: Part 3 - Strengthen your attention like a muscle\n03.25: Part 4 - Your biological foundation\n04.17: Part 5 - Reduce stimulation\n\nSign up to my emails on forming positive habits 👉 https://www.richn.co.uk", "Proven ways to fix your attention span", 38, 326, false, "d6VWMNL51c4", "https://www.youtube.com/watch?v=d6VWMNL51c4", "/downloads/SwiftFilms/Season 2026/s2026e022000 - Proven ways to fix your attention span.mp4", false, ~U[2026-02-20 16:45:06Z]] 03:29:58.981 [debug] QUERY OK source="sources" db=0.2ms idle=82.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:58.981 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:58.982 [debug] QUERY OK source="media_items" db=0.2ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4666253] 03:29:58.982 [debug] Current batch of media processed. Will check again in 1000ms 03:29:59.685 [debug] Current batch of media processed. Will check again in 1000ms 03:29:59.757 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zcamwgwBgo0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/fd/31fd08aa369a69163186e7828f50cae21b34b11bf93644dbe1cc981a97e0aa0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:59.757 [error] yt-dlp download error for media item #5210449: "WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:59.757 [error] yt-dlp download will not be retried: "WARNING: [youtube] zcamwgwBgo0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] zcamwgwBgo0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:59.758 [info] {"args":{"id":5210449},"id":133803,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2096867,"event":"job:stop","queue_time":660299,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:59.764 [info] {"args":{"id":5237286},"id":133804,"meta":{},"system_time":1785893399764204779,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:59.764 [debug] QUERY OK source="media_items" db=0.2ms idle=783.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5237286] 03:29:59.764 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:29:59.765 [debug] QUERY OK source="sources" db=0.1ms idle=783.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 03:29:59.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=783.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:59.766 [debug] QUERY OK source="media_items" db=0.2ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237286] 03:29:59.775 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5237286] 03:29:59.776 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:59.776 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:59.776 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:59.776 [debug] Running yt-dlp command for action: get_downloadable_status 03:29:59.777 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:29:59.777 [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 [] 03:29:59.777 [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 [] 03:29:59.777 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mvacYBW1M7w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/89/8f89a4e248847f73517223b88e7a2f44ca5864bfd3e2a2d4f8cc43c81576f50a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:29:59.860 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R9mLEW7oyDQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/05/1405bee1ae60f41d3eb23ff41957faa9a2a3eb4b44315181c308a5a44dfb108c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:29:59.860 [error] yt-dlp download error for media item #5152734: "WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:59.861 [error] yt-dlp download will not be retried: "WARNING: [youtube] R9mLEW7oyDQ: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] R9mLEW7oyDQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:29:59.861 [info] {"args":{"id":5152734},"id":133802,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2200325,"event":"job:stop","queue_time":660299,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:29:59.982 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Procrastination is not a moral failing. Despite what you tell yourself, you are not to blame. \n \nIn this video I will show you how to weaponise procrastination, to work with your brain and not fight it and also show you how to actually make procrastination your super power. \n\nIf you are like me then you probably care deeply, but struggle to manage the difficult emotions that arise when facing tasks. This makes procrastination a psychological hurdle not a moral failing.\n\nThis video outlines how I personally overcome this psychological hurdle. Whenever I now want to avoid doing something, I absolutely give myself permission to do so, but the only thing I allow myself to do instead, is pick up a pen. From there, I go wherever my mind wants to take me. \n\nThe way in which you can make procrastination a superpower is to also start by using a pen.", "duration" => 353, "filename" => "/downloads/SwiftFilms/Season 2026/s2026e020500 - Make procrastination your superpower (notebook method).mp4", "id" => "a2drIkT74fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a2drIkT74fo", "playlist_index" => 7, "timestamp" => 1770309906, "title" => "Make procrastination your superpower (notebook method)", "upload_date" => "20260205"} 03:29:59.983 [debug] QUERY OK source="sources" db=0.2ms idle=205.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:29:59.983 [debug] QUERY OK source="sources" db=0.1ms idle=121.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:59.983 [debug] QUERY OK source="media_items" db=0.3ms idle=115.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 16:45:06Z], 38] 03:29:59.985 [debug] QUERY OK source="media_items" db=0.9ms idle=83.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Procrastination is not a moral failing. Despite what you tell yourself, you are not to blame. \n \nIn this video I will show you how to weaponise procrastination, to work with your brain and not fight it and also show you how to actually make procrastination your super power. \n\nIf you are like me then you probably care deeply, but struggle to manage the difficult emotions that arise when facing tasks. This makes procrastination a psychological hurdle not a moral failing.\n\nThis video outlines how I personally overcome this psychological hurdle. Whenever I now want to avoid doing something, I absolutely give myself permission to do so, but the only thing I allow myself to do instead, is pick up a pen. From there, I go wherever my mind wants to take me. \n\nThe way in which you can make procrastination a superpower is to also start by using a pen.", "Make procrastination your superpower (notebook method)", "a35df825-c8c6-48da-a166-8c1ba4f831f5", false, 38, [], 353, false, "a2drIkT74fo", "https://www.youtube.com/watch?v=a2drIkT74fo", 7, "/downloads/SwiftFilms/Season 2026/s2026e020500 - Make procrastination your superpower (notebook method).mp4", false, false, 98, ~U[2026-02-05 16:45:06Z], ~U[2026-08-05 01:29:59Z], ~U[2026-08-05 01:29:59Z], "Procrastination is not a moral failing. Despite what you tell yourself, you are not to blame. \n \nIn this video I will show you how to weaponise procrastination, to work with your brain and not fight it and also show you how to actually make procrastination your super power. \n\nIf you are like me then you probably care deeply, but struggle to manage the difficult emotions that arise when facing tasks. This makes procrastination a psychological hurdle not a moral failing.\n\nThis video outlines how I personally overcome this psychological hurdle. Whenever I now want to avoid doing something, I absolutely give myself permission to do so, but the only thing I allow myself to do instead, is pick up a pen. From there, I go wherever my mind wants to take me. \n\nThe way in which you can make procrastination a superpower is to also start by using a pen.", "Make procrastination your superpower (notebook method)", 38, 353, false, "a2drIkT74fo", "https://www.youtube.com/watch?v=a2drIkT74fo", "/downloads/SwiftFilms/Season 2026/s2026e020500 - Make procrastination your superpower (notebook method).mp4", false, ~U[2026-02-05 16:45:06Z]] 03:29:59.985 [debug] QUERY OK source="sources" db=0.1ms idle=79.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:29:59.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:29:59.986 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4616082] 03:29:59.986 [debug] Current batch of media processed. Will check again in 1000ms 03:30:00.384 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:00.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Fanttik for sponsoring this video!\nGet the Fanttik Slim V10 Apex 4-in-1 Car Vacuum: \nUse 8% off code HardwareV10 at: https://amzn.to/4pkQB6x #Fanttik\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n►Helpful Links:\n- Fedora: https://fedoraproject.org/\n- CachyOS: https://cachyos.org/\n- No Signal Guides: https://www.no-signal.uk/#projects\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 I did the thing\n0:33 Why did I make the switch?\n2:12 Something else that sucks (sponsor)\n3:29 Before going into this...\n5:23 Linux Mint and Fedora KDE\n7:29 I got GNOMED (In the good way)\n10:40 What about my main PC?\n12:43 CachyOS\n16:32 Trying Rocky Linux and Resolve\n18:27 Plan B for Resolve\n19:42 Short LLM Tangent\n20:49 Back to Resolve\n21:38 ... it worked.\n24:12 Install Montage\n24:25 CachyOS (Again)\n25:34 Linux CAN suck\n29:41 The suck might be worth it\n31:08 Did I stick with it?", "duration" => 2159, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e072600 - I FULLY Switched to Linux... but will I stay?.mp4", "id" => "GHi0jYZPiyM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GHi0jYZPiyM", "playlist_index" => 1, "timestamp" => 1785082514, "title" => "I FULLY Switched to Linux... but will I stay?", "upload_date" => "20260726"} 03:30:00.687 [debug] QUERY OK source="sources" db=0.1ms idle=701.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:00.687 [debug] QUERY OK source="sources" db=0.1ms idle=701.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:00.688 [debug] QUERY OK source="media_items" db=0.6ms idle=701.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 16:15:14Z], 67] 03:30:00.689 [debug] QUERY OK source="media_items" db=1.0ms idle=702.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Fanttik for sponsoring this video!\nGet the Fanttik Slim V10 Apex 4-in-1 Car Vacuum: \nUse 8% off code HardwareV10 at: https://amzn.to/4pkQB6x #Fanttik\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n►Helpful Links:\n- Fedora: https://fedoraproject.org/\n- CachyOS: https://cachyos.org/\n- No Signal Guides: https://www.no-signal.uk/#projects\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 I did the thing\n0:33 Why did I make the switch?\n2:12 Something else that sucks (sponsor)\n3:29 Before going into this...\n5:23 Linux Mint and Fedora KDE\n7:29 I got GNOMED (In the good way)\n10:40 What about my main PC?\n12:43 CachyOS\n16:32 Trying Rocky Linux and Resolve\n18:27 Plan B for Resolve\n19:42 Short LLM Tangent\n20:49 Back to Resolve\n21:38 ... it worked.\n24:12 Install Montage\n24:25 CachyOS (Again)\n25:34 Linux CAN suck\n29:41 The suck might be worth it\n31:08 Did I stick with it?", "I FULLY Switched to Linux... but will I stay?", "4d9c1255-6690-41b0-9508-fa8a46c7d786", false, 67, [], 2159, false, "GHi0jYZPiyM", "https://www.youtube.com/watch?v=GHi0jYZPiyM", 1, "/downloads/Hardware Haven/Season 2026/s2026e072600 - I FULLY Switched to Linux... but will I stay?.mp4", false, false, 98, ~U[2026-07-26 16:15:14Z], ~U[2026-08-05 01:30:00Z], ~U[2026-08-05 01:30:00Z], "Thanks to Fanttik for sponsoring this video!\nGet the Fanttik Slim V10 Apex 4-in-1 Car Vacuum: \nUse 8% off code HardwareV10 at: https://amzn.to/4pkQB6x #Fanttik\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n►Helpful Links:\n- Fedora: https://fedoraproject.org/\n- CachyOS: https://cachyos.org/\n- No Signal Guides: https://www.no-signal.uk/#projects\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 I did the thing\n0:33 Why did I make the switch?\n2:12 Something else that sucks (sponsor)\n3:29 Before going into this...\n5:23 Linux Mint and Fedora KDE\n7:29 I got GNOMED (In the good way)\n10:40 What about my main PC?\n12:43 CachyOS\n16:32 Trying Rocky Linux and Resolve\n18:27 Plan B for Resolve\n19:42 Short LLM Tangent\n20:49 Back to Resolve\n21:38 ... it worked.\n24:12 Install Montage\n24:25 CachyOS (Again)\n25:34 Linux CAN suck\n29:41 The suck might be worth it\n31:08 Did I stick with it?", "I FULLY Switched to Linux... but will I stay?", 67, 2159, false, "GHi0jYZPiyM", "https://www.youtube.com/watch?v=GHi0jYZPiyM", "/downloads/Hardware Haven/Season 2026/s2026e072600 - I FULLY Switched to Linux... but will I stay?.mp4", false, ~U[2026-07-26 16:15:14Z]] 03:30:00.690 [debug] QUERY OK source="sources" db=0.2ms idle=305.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:00.690 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:00.690 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218171] 03:30:00.690 [info] Kicking off download for media item #5218171 (GHi0jYZPiyM) 03:30:00.692 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133806, 5218171, ~U[2026-08-05 01:30:00Z], ~U[2026-08-05 01:30:00Z]] 03:30:00.692 [debug] Current batch of media processed. Will check again in 1000ms 03:30:00.698 [info] {"args":{"id":5218171},"id":133806,"meta":{},"system_time":1785893400698917568,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:00.699 [debug] QUERY OK source="media_items" db=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5218171] 03:30:00.699 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:00.699 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:00.699 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:00.700 [debug] QUERY OK source="media_items" db=0.2ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218171] 03:30:00.700 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5218171] 03:30:00.700 [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] 03:30:00.701 [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 [] 03:30:00.701 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:00.701 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:00.701 [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 [] 03:30:00.702 [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 [] 03:30:00.702 [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 [] 03:30:00.702 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/6d/1a6d4677b8a2786b68aeba73b20784e81e0a438587d0bcb61023c4b6d8a5bb1f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:00.987 [debug] Current batch of media processed. Will check again in 1000ms 03:30:01.693 [debug] Current batch of media processed. Will check again in 1000ms 03:30:01.886 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mvacYBW1M7w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/89/8f89a4e248847f73517223b88e7a2f44ca5864bfd3e2a2d4f8cc43c81576f50a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:01.886 [error] yt-dlp download error for media item #5237286: "WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:01.886 [error] yt-dlp download will not be retried: "WARNING: [youtube] mvacYBW1M7w: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] mvacYBW1M7w: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:01.887 [info] {"args":{"id":5237286},"id":133804,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2122531,"event":"job:stop","queue_time":2763392,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:01.988 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up to my emails on forming positive habits 👉 https://www.richn.co.uk\n\nConsistency is key. We hear this time and again. But consistency is hard. And it's especially hard to be consistent when you turn up without fail, but struggle to see results.\n\nIn this video I share 9 ways to be extraordinarily consistent in whatever way is important to you. \n\nFor the purpose of this video, I use two examples of habits that I have managed to be consistent with - writing and running. But this process works for anything you want to be consistent with.\n\nTime stamps\n\n00.23 - Write down what you want to be consistent with and why\n\n01.09 - Set a clear and consistent goal\n\n01.37 - Start being consistent in a tiny way\n\n02.04 - Habit stack\n\n02.45 - Book it in the diary\n\n03.16 - Habit track\n\n03.55 - Make it easy\n\n04.17 - Make being consistent your identity\n\n04.48 - Make yourself accountable", "duration" => 368, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e122300 - 9 ways to be extraordinarily consistent.mp4", "id" => "2D8UJ-WIBQE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2D8UJ-WIBQE", "playlist_index" => 8, "timestamp" => 1766480951, "title" => "9 ways to be extraordinarily consistent", "upload_date" => "20251223"} 03:30:01.989 [debug] QUERY OK source="sources" db=0.2ms idle=213.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:01.989 [debug] QUERY OK source="sources" db=0.1ms idle=102.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:01.989 [debug] QUERY OK source="media_items" db=0.3ms idle=96.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 09:09:11Z], 38] 03:30:01.991 [debug] QUERY OK source="media_items" db=0.9ms idle=88.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up to my emails on forming positive habits 👉 https://www.richn.co.uk\n\nConsistency is key. We hear this time and again. But consistency is hard. And it's especially hard to be consistent when you turn up without fail, but struggle to see results.\n\nIn this video I share 9 ways to be extraordinarily consistent in whatever way is important to you. \n\nFor the purpose of this video, I use two examples of habits that I have managed to be consistent with - writing and running. But this process works for anything you want to be consistent with.\n\nTime stamps\n\n00.23 - Write down what you want to be consistent with and why\n\n01.09 - Set a clear and consistent goal\n\n01.37 - Start being consistent in a tiny way\n\n02.04 - Habit stack\n\n02.45 - Book it in the diary\n\n03.16 - Habit track\n\n03.55 - Make it easy\n\n04.17 - Make being consistent your identity\n\n04.48 - Make yourself accountable", "9 ways to be extraordinarily consistent", "85e57b77-4149-4dcb-a4eb-ba730cb9d097", false, 38, [], 368, false, "2D8UJ-WIBQE", "https://www.youtube.com/watch?v=2D8UJ-WIBQE", 8, "/downloads/SwiftFilms/Season 2025/s2025e122300 - 9 ways to be extraordinarily consistent.mp4", false, false, 98, ~U[2025-12-23 09:09:11Z], ~U[2026-08-05 01:30:01Z], ~U[2026-08-05 01:30:01Z], "Sign up to my emails on forming positive habits 👉 https://www.richn.co.uk\n\nConsistency is key. We hear this time and again. But consistency is hard. And it's especially hard to be consistent when you turn up without fail, but struggle to see results.\n\nIn this video I share 9 ways to be extraordinarily consistent in whatever way is important to you. \n\nFor the purpose of this video, I use two examples of habits that I have managed to be consistent with - writing and running. But this process works for anything you want to be consistent with.\n\nTime stamps\n\n00.23 - Write down what you want to be consistent with and why\n\n01.09 - Set a clear and consistent goal\n\n01.37 - Start being consistent in a tiny way\n\n02.04 - Habit stack\n\n02.45 - Book it in the diary\n\n03.16 - Habit track\n\n03.55 - Make it easy\n\n04.17 - Make being consistent your identity\n\n04.48 - Make yourself accountable", "9 ways to be extraordinarily consistent", 38, 368, false, "2D8UJ-WIBQE", "https://www.youtube.com/watch?v=2D8UJ-WIBQE", "/downloads/SwiftFilms/Season 2025/s2025e122300 - 9 ways to be extraordinarily consistent.mp4", false, ~U[2025-12-23 09:09:11Z]] 03:30:01.991 [debug] QUERY OK source="sources" db=0.1ms idle=83.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:01.991 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:01.992 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4472407] 03:30:01.992 [debug] Current batch of media processed. Will check again in 1000ms 03:30:02.694 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/yT5f17K or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ DXP2800 GT: https://amzn.to/4pdHcxr\n🛍️ DXP4800 GT: https://amzn.to/4wETYaX\n🛍️ LinkStation N2: https://amzn.to/4wETYaX\n🛍️ M.2 to U.2 Adapter: https://amzn.to/4wETYaX\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n---------------------------------------------------\nTimestamps:\n0:00 Unleash Your Creativity\n0:58 UGREEN DXP GT Series\n5:23 Monarch Money (sponsor)\n6:55 Adding Storage and Initial Setup\n8:30 UGOS NAS Experience \n10:37 SSD Caching\n12:08 Snapshots and Backups\n13:40 Fan Noise and pOwer Draw\n14:08 Surveillance Center\n15:37 Photos App\n17:12 Docker (Home Assistant, Jellyfin)\n19:10 Virtual Machines\n19:06 UGOS Thoughts\n20:03 Installing Your Own OS\n21:50 More Power and Geekbench\n23:03 RAM Upgrade and Proxmox\n23:59 Downsides to 3rd Part OS\n24:31 Quick Teardown\n25:23 Would I buy one?", "duration" => 1617, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e071100 - Is This Budget 10G NAS as Good as They Say?.mp4", "id" => "eHgZW63j1ok", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eHgZW63j1ok", "playlist_index" => 2, "timestamp" => 1783786635, "title" => "Is This Budget 10G NAS as Good as They Say?", "upload_date" => "20260711"} 03:30:02.695 [debug] QUERY OK source="sources" db=0.2ms idle=705.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:02.695 [debug] QUERY OK source="sources" db=0.0ms idle=704.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:02.696 [debug] QUERY OK source="media_items" db=0.4ms idle=704.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 16:17:15Z], 67] 03:30:02.697 [debug] QUERY OK source="media_items" db=1.0ms idle=704.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/yT5f17K or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ DXP2800 GT: https://amzn.to/4pdHcxr\n🛍️ DXP4800 GT: https://amzn.to/4wETYaX\n🛍️ LinkStation N2: https://amzn.to/4wETYaX\n🛍️ M.2 to U.2 Adapter: https://amzn.to/4wETYaX\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n---------------------------------------------------\nTimestamps:\n0:00 Unleash Your Creativity\n0:58 UGREEN DXP GT Series\n5:23 Monarch Money (sponsor)\n6:55 Adding Storage and Initial Setup\n8:30 UGOS NAS Experience \n10:37 SSD Caching\n12:08 Snapshots and Backups\n13:40 Fan Noise and pOwer Draw\n14:08 Surveillance Center\n15:37 Photos App\n17:12 Docker (Home Assistant, Jellyfin)\n19:10 Virtual Machines\n19:06 UGOS Thoughts\n20:03 Installing Your Own OS\n21:50 More Power and Geekbench\n23:03 RAM Upgrade and Proxmox\n23:59 Downsides to 3rd Part OS\n24:31 Quick Teardown\n25:23 Would I buy one?", "Is This Budget 10G NAS as Good as They Say?", "ce63ab83-40ee-40e2-a351-0c21ad022afe", false, 67, [], 1617, false, "eHgZW63j1ok", "https://www.youtube.com/watch?v=eHgZW63j1ok", 2, "/downloads/Hardware Haven/Season 2026/s2026e071100 - Is This Budget 10G NAS as Good as They Say?.mp4", false, false, 98, ~U[2026-07-11 16:17:15Z], ~U[2026-08-05 01:30:02Z], ~U[2026-08-05 01:30:02Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/yT5f17K or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ DXP2800 GT: https://amzn.to/4pdHcxr\n🛍️ DXP4800 GT: https://amzn.to/4wETYaX\n🛍️ LinkStation N2: https://amzn.to/4wETYaX\n🛍️ M.2 to U.2 Adapter: https://amzn.to/4wETYaX\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n---------------------------------------------------\nTimestamps:\n0:00 Unleash Your Creativity\n0:58 UGREEN DXP GT Series\n5:23 Monarch Money (sponsor)\n6:55 Adding Storage and Initial Setup\n8:30 UGOS NAS Experience \n10:37 SSD Caching\n12:08 Snapshots and Backups\n13:40 Fan Noise and pOwer Draw\n14:08 Surveillance Center\n15:37 Photos App\n17:12 Docker (Home Assistant, Jellyfin)\n19:10 Virtual Machines\n19:06 UGOS Thoughts\n20:03 Installing Your Own OS\n21:50 More Power and Geekbench\n23:03 RAM Upgrade and Proxmox\n23:59 Downsides to 3rd Part OS\n24:31 Quick Teardown\n25:23 Would I buy one?", "Is This Budget 10G NAS as Good as They Say?", 67, 1617, false, "eHgZW63j1ok", "https://www.youtube.com/watch?v=eHgZW63j1ok", "/downloads/Hardware Haven/Season 2026/s2026e071100 - Is This Budget 10G NAS as Good as They Say?.mp4", false, ~U[2026-07-11 16:17:15Z]] 03:30:02.697 [debug] QUERY OK source="sources" db=0.1ms idle=705.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:02.697 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:02.698 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160454] 03:30:02.698 [info] Kicking off download for media item #5160454 (eHgZW63j1ok) 03:30:02.699 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133807, 5160454, ~U[2026-08-05 01:30:02Z], ~U[2026-08-05 01:30:02Z]] 03:30:02.699 [debug] Current batch of media processed. Will check again in 1000ms 03:30:02.706 [info] {"args":{"id":5160454},"id":133807,"meta":{},"system_time":1785893402705928031,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:02.706 [debug] QUERY OK source="media_items" db=0.1ms idle=7.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5160454] 03:30:02.706 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:02.706 [debug] QUERY OK source="sources" db=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:02.707 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:02.707 [debug] QUERY OK source="media_items" db=0.1ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160454] 03:30:02.708 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5160454] 03:30:02.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:02.708 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:02.708 [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 [] 03:30:02.708 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:02.709 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:02.709 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:02.709 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:02.709 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eHgZW63j1ok --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/5d/975df63448534144feafe8f85a9a90683e140f3b6fe034a92704999bd820ebc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:02.993 [debug] Current batch of media processed. Will check again in 1000ms 03:30:03.700 [debug] Current batch of media processed. Will check again in 1000ms 03:30:03.942 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/6d/1a6d4677b8a2786b68aeba73b20784e81e0a438587d0bcb61023c4b6d8a5bb1f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" 03:30:03.942 [debug] Running yt-dlp command for action: download 03:30:03.942 [debug] QUERY OK source="settings" db=0.1ms idle=167.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:03.942 [debug] QUERY OK source="settings" db=0.0ms idle=167.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:03.943 [debug] QUERY OK source="settings" db=0.0ms idle=167.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:03.943 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/3e/c23e7b48fa4dd1b2a690e31cb98404974c43111eb82ebf5af27fd8130978bbff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:03.994 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I am 46 years old. Here are 40 harsh truths I have learned in life that I wish I had known in my 20s.\n\nOutline:\n\n00:12 - Nobody cares what you do\n00:25 - Don't wait\n00:36 - Walk in nature and a good nights sleep will solve most of your problems\n00:46 - Life is short\n00:55 - Be different\n01:09 - A little bit of flattery goes a long way\n01:23 - Make yourself technical as well as creative\n01:38 - Make yourself memorable \n01:55 - Everything you do is marketing\n02:11 - Choose your habits and your vices carefully\n02:25 - Build a body of your own work\n02:41 - Your phone is not your friend \n03:04 - Airplane mode is most productive tool on your phone\n03:08 - Time is more important than money\n03:15 - Your health is your most valuable currency\n03:26 - Learn to rest before you crash\n03:38 - Don't work too hard\n03:48 - No one is coming to save you\n04:00 - Rock bottom can be the foundation from which you build your life\n04:12 - Your diet consists of everything you put into your body\n04:19 - Your life partner determines your level of peace, wealth and happiness\n04:25 - Look out for kindness\n04:32 - Be kind to everyone you meet\n04:38 - A marathon will teach you everything you need to know about yourself\n04:50 - Take risks\n04:56 - Make decisions quickly\n05:03 - Consistency is key\n05:19 - Focus on what you can control\n05:29 - Don't believe everything you think\n05:33 - Journaling can improve your physical and emotional health\n05:44 - You can control how you react\n05:49 - Motivation comes from taking action\n05:56 - You don't know how strong you are\n06:00 - You can start again at any age\n06:05 - Sleep is a super power\n06:08 - Read widely\n06:13 - Start with the most important task\n06:17 - Always appreciate those who show up\n06:26 - A pen can change your life", "duration" => 411, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e103000 - 40 Harsh Truths I wish I Knew in My 20s.mp4", "id" => "QB6AvcB7Ecc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QB6AvcB7Ecc", "playlist_index" => 9, "timestamp" => 1761842706, "title" => "40 Harsh Truths I wish I Knew in My 20s", "upload_date" => "20251030"} 03:30:03.995 [debug] QUERY OK source="sources" db=0.1ms idle=219.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:03.995 [debug] QUERY OK source="sources" db=0.1ms idle=90.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:03.995 [debug] QUERY OK source="media_items" db=0.2ms idle=52.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 16:45:06Z], 38] 03:30:04.012 [debug] QUERY OK source="media_items" db=16.3ms idle=53.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I am 46 years old. Here are 40 harsh truths I have learned in life that I wish I had known in my 20s.\n\nOutline:\n\n00:12 - Nobody cares what you do\n00:25 - Don't wait\n00:36 - Walk in nature and a good nights sleep will solve most of your problems\n00:46 - Life is short\n00:55 - Be different\n01:09 - A little bit of flattery goes a long way\n01:23 - Make yourself technical as well as creative\n01:38 - Make yourself memorable \n01:55 - Everything you do is marketing\n02:11 - Choose your habits and your vices carefully\n02:25 - Build a body of your own work\n02:41 - Your phone is not your friend \n03:04 - Airplane mode is most productive tool on your phone\n03:08 - Time is more important than money\n03:15 - Your health is your most valuable currency\n03:26 - Learn to rest before you crash\n03:38 - Don't work too hard\n03:48 - No one is coming to save you\n04:00 - Rock bottom can be the foundation from which you build your life\n04:12 - Your diet consists of everything you put into your body\n04:19 - Your life partner determines your level of peace, wealth and happiness\n04:25 - Look out for kindness\n04:32 - Be kind to everyone you meet\n04:38 - A marathon will teach you everything you need to know about yourself\n04:50 - Take risks\n04:56 - Make decisions quickly\n05:03 - Consistency is key\n05:19 - Focus on what you can control\n05:29 - Don't believe everything you think\n05:33 - Journaling can improve your physical and emotional health\n05:44 - You can control how you react\n05:49 - Motivation comes from taking action\n05:56 - You don't know how strong you are\n06:00 - You can start again at any age\n06:05 - Sleep is a super power\n06:08 - Read widely\n06:13 - Start with the most important task\n06:17 - Always appreciate those who show up\n06:26 - A pen can change your life", "40 Harsh Truths I wish I Knew in My 20s", "0654d108-1e6d-498c-b24e-49363ee64c2c", false, 38, [], 411, false, "QB6AvcB7Ecc", "https://www.youtube.com/watch?v=QB6AvcB7Ecc", 9, "/downloads/SwiftFilms/Season 2025/s2025e103000 - 40 Harsh Truths I wish I Knew in My 20s.mp4", false, false, 98, ~U[2025-10-30 16:45:06Z], ~U[2026-08-05 01:30:03Z], ~U[2026-08-05 01:30:03Z], "I am 46 years old. Here are 40 harsh truths I have learned in life that I wish I had known in my 20s.\n\nOutline:\n\n00:12 - Nobody cares what you do\n00:25 - Don't wait\n00:36 - Walk in nature and a good nights sleep will solve most of your problems\n00:46 - Life is short\n00:55 - Be different\n01:09 - A little bit of flattery goes a long way\n01:23 - Make yourself technical as well as creative\n01:38 - Make yourself memorable \n01:55 - Everything you do is marketing\n02:11 - Choose your habits and your vices carefully\n02:25 - Build a body of your own work\n02:41 - Your phone is not your friend \n03:04 - Airplane mode is most productive tool on your phone\n03:08 - Time is more important than money\n03:15 - Your health is your most valuable currency\n03:26 - Learn to rest before you crash\n03:38 - Don't work too hard\n03:48 - No one is coming to save you\n04:00 - Rock bottom can be the foundation from which you build your life\n04:12 - Your diet consists of everything you put into your body\n04:19 - Your life partner determines your level of peace, wealth and happiness\n04:25 - Look out for kindness\n04:32 - Be kind to everyone you meet\n04:38 - A marathon will teach you everything you need to know about yourself\n04:50 - Take risks\n04:56 - Make decisions quickly\n05:03 - Consistency is key\n05:19 - Focus on what you can control\n05:29 - Don't believe everything you think\n05:33 - Journaling can improve your physical and emotional health\n05:44 - You can control how you react\n05:49 - Motivation comes from taking action\n05:56 - You don't know how strong you are\n06:00 - You can start again at any age\n06:05 - Sleep is a super power\n06:08 - Read widely\n06:13 - Start with the most important task\n06:17 - Always appreciate those who show up\n06:26 - A pen can change your life", "40 Harsh Truths I wish I Knew in My 20s", 38, 411, false, "QB6AvcB7Ecc", "https://www.youtube.com/watch?v=QB6AvcB7Ecc", "/downloads/SwiftFilms/Season 2025/s2025e103000 - 40 Harsh Truths I wish I Knew in My 20s.mp4", false, ~U[2025-10-30 16:45:06Z]] 03:30:04.013 [debug] QUERY OK source="sources" db=0.2ms idle=69.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:04.013 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:04.013 [debug] QUERY OK source="media_items" db=0.2ms idle=18.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4299395] 03:30:04.014 [debug] Current batch of media processed. Will check again in 1000ms 03:30:04.701 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- OPS 10\" Rack Mount Design: https://www.printables.com/model/1765621-ops-module-10-rack-mount\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ OPS2-5P8R256S: https://ebay.us/DA9c5B\n🛍️ VFlex Module: https://werewolf.us/\n🛍️ M.2 E Key NVMe: https://amzn.to/4vBcSPR\n🛍️ OPS DC Adapter: https://amzn.to/4eMLDL2\n🛍️ OPS Breakout Adapter: https://ebay.us/vU5sBN\n\n3D Filament Used:\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mmu\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 I love this little guy\n0:38 What is this?\n2:07 Why these COULD be useful\n4:04 Designing with OnShape (sponsor)\n4:56 Getting this to actually turn on\n8:06 Specs\n11:19 Thermals and Fan Curve\n12:18 Geekbench6 and power Draw\n13:16 Crafty, Jellyfin, Frigate\n14:29 Desktop and Game Streaming\n14:50 Cost and Pricing Weirdness\n17:01 Other similar systems\n18:35 How do you get this thing to turn on?\n21:11 Final thoughts", "duration" => 1347, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e062700 - I Think I Found My Favorite Mini PC.mp4", "id" => "c4fu7SvJKco", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c4fu7SvJKco", "playlist_index" => 3, "timestamp" => 1782576919, "title" => "I Think I Found My Favorite Mini PC", "upload_date" => "20260627"} 03:30:04.702 [debug] QUERY OK source="sources" db=0.3ms idle=706.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:04.702 [debug] QUERY OK source="sources" db=0.1ms idle=689.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:04.703 [debug] QUERY OK source="media_items" db=0.6ms idle=689.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 16:15:19Z], 67] 03:30:04.711 [debug] QUERY OK source="media_items" db=7.9ms idle=690.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- OPS 10\" Rack Mount Design: https://www.printables.com/model/1765621-ops-module-10-rack-mount\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ OPS2-5P8R256S: https://ebay.us/DA9c5B\n🛍️ VFlex Module: https://werewolf.us/\n🛍️ M.2 E Key NVMe: https://amzn.to/4vBcSPR\n🛍️ OPS DC Adapter: https://amzn.to/4eMLDL2\n🛍️ OPS Breakout Adapter: https://ebay.us/vU5sBN\n\n3D Filament Used:\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mmu\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 I love this little guy\n0:38 What is this?\n2:07 Why these COULD be useful\n4:04 Designing with OnShape (sponsor)\n4:56 Getting this to actually turn on\n8:06 Specs\n11:19 Thermals and Fan Curve\n12:18 Geekbench6 and power Draw\n13:16 Crafty, Jellyfin, Frigate\n14:29 Desktop and Game Streaming\n14:50 Cost and Pricing Weirdness\n17:01 Other similar systems\n18:35 How do you get this thing to turn on?\n21:11 Final thoughts", "I Think I Found My Favorite Mini PC", "cbe6d8a3-07aa-4510-8e07-54fffe70f9c4", false, 67, [], 1347, false, "c4fu7SvJKco", "https://www.youtube.com/watch?v=c4fu7SvJKco", 3, "/downloads/Hardware Haven/Season 2026/s2026e062700 - I Think I Found My Favorite Mini PC.mp4", false, false, 98, ~U[2026-06-27 16:15:19Z], ~U[2026-08-05 01:30:04Z], ~U[2026-08-05 01:30:04Z], "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- OPS 10\" Rack Mount Design: https://www.printables.com/model/1765621-ops-module-10-rack-mount\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ OPS2-5P8R256S: https://ebay.us/DA9c5B\n🛍️ VFlex Module: https://werewolf.us/\n🛍️ M.2 E Key NVMe: https://amzn.to/4vBcSPR\n🛍️ OPS DC Adapter: https://amzn.to/4eMLDL2\n🛍️ OPS Breakout Adapter: https://ebay.us/vU5sBN\n\n3D Filament Used:\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mmu\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 I love this little guy\n0:38 What is this?\n2:07 Why these COULD be useful\n4:04 Designing with OnShape (sponsor)\n4:56 Getting this to actually turn on\n8:06 Specs\n11:19 Thermals and Fan Curve\n12:18 Geekbench6 and power Draw\n13:16 Crafty, Jellyfin, Frigate\n14:29 Desktop and Game Streaming\n14:50 Cost and Pricing Weirdness\n17:01 Other similar systems\n18:35 How do you get this thing to turn on?\n21:11 Final thoughts", "I Think I Found My Favorite Mini PC", 67, 1347, false, "c4fu7SvJKco", "https://www.youtube.com/watch?v=c4fu7SvJKco", "/downloads/Hardware Haven/Season 2026/s2026e062700 - I Think I Found My Favorite Mini PC.mp4", false, ~U[2026-06-27 16:15:19Z]] 03:30:04.712 [debug] QUERY OK source="sources" db=0.2ms idle=698.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:04.712 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:04.713 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5111916] 03:30:04.713 [debug] Current batch of media processed. Will check again in 1000ms 03:30:04.745 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eHgZW63j1ok --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/5d/975df63448534144feafe8f85a9a90683e140f3b6fe034a92704999bd820ebc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:04.745 [error] yt-dlp download error for media item #5160454: "WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:04.745 [error] yt-dlp download will not be retried: "WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:04.746 [info] {"args":{"id":5160454},"id":133807,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2040102,"event":"job:stop","queue_time":705397,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:05.014 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Here are ten specific ideas that I have stolen from books I have read.\n \nThese are things I have gone on to buy, disciplines I have instilled, habits I have nurtured and ways of thinking that have completely changed my life.\n \nRather than talking about whole books that have changed my life, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact.\n \nI love the fact that a book, which can be bought at minimal cost, contains ideas within it that can have wide-reaching impact.\n \nThe books which have impacted my life most greatly tend to be ones where I have quickly latched onto an idea or concept and implemented it into my own daily life straight away. These books then remain fresh in my mind.\n \nThe ideas in this video come from a variety of different books, but a lot of them are based around creativity, writing and habit formation. The need to stay consistent is a common theme within these books. \n \nTime stamps\n \n00:12 - Change your environment for success – ‘The Creative Habit’ by Twyla Tharp\n \n01:10 - The analogue table – ‘Steal like an artist’ by Austin Kleon\n \n02:03 - Writing Rituals – ‘On Writing’ by Stephen King\n \n02:49 - Never have a bad day again – ‘My Next Breath’ by Jeremy Renner\n \n03:43 - When I do X I will do Y – ‘Tiny Habits’ by BJ Fogg\n \n04:24 – Small wins matter – ‘The Power of Habit’ by Charles Duhigg\n \n05:03 – Pebbles – ‘Good Days, An A-Z of Hope and Happiness’ by Michael Rosen\n \n05:51 – The personal book – ‘The Compound Effect’ by Darren Hardy\n \n06:26 – Notice the cues – ‘Indistractable’ by Nir Eyal\n \n07:09 – You’re not too busy, you’re distracted – ‘Someday is Today’ by Matthew Dicks", "duration" => 491, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e101000 - 10 ideas I've stolen from books that have changed my life.mp4", "id" => "dXH5xv01fsk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dXH5xv01fsk", "playlist_index" => 10, "timestamp" => 1760111106, "title" => "10 ideas I've stolen from books that have changed my life", "upload_date" => "20251010"} 03:30:05.015 [debug] QUERY OK source="sources" db=0.2ms idle=301.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:05.015 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=268.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:05.016 [debug] QUERY OK source="media_items" db=0.2ms idle=262.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-10 15:45:06Z], 38] 03:30:05.021 [debug] QUERY OK source="media_items" db=4.9ms idle=111.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Here are ten specific ideas that I have stolen from books I have read.\n \nThese are things I have gone on to buy, disciplines I have instilled, habits I have nurtured and ways of thinking that have completely changed my life.\n \nRather than talking about whole books that have changed my life, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact.\n \nI love the fact that a book, which can be bought at minimal cost, contains ideas within it that can have wide-reaching impact.\n \nThe books which have impacted my life most greatly tend to be ones where I have quickly latched onto an idea or concept and implemented it into my own daily life straight away. These books then remain fresh in my mind.\n \nThe ideas in this video come from a variety of different books, but a lot of them are based around creativity, writing and habit formation. The need to stay consistent is a common theme within these books. \n \nTime stamps\n \n00:12 - Change your environment for success – ‘The Creative Habit’ by Twyla Tharp\n \n01:10 - The analogue table – ‘Steal like an artist’ by Austin Kleon\n \n02:03 - Writing Rituals – ‘On Writing’ by Stephen King\n \n02:49 - Never have a bad day again – ‘My Next Breath’ by Jeremy Renner\n \n03:43 - When I do X I will do Y – ‘Tiny Habits’ by BJ Fogg\n \n04:24 – Small wins matter – ‘The Power of Habit’ by Charles Duhigg\n \n05:03 – Pebbles – ‘Good Days, An A-Z of Hope and Happiness’ by Michael Rosen\n \n05:51 – The personal book – ‘The Compound Effect’ by Darren Hardy\n \n06:26 – Notice the cues – ‘Indistractable’ by Nir Eyal\n \n07:09 – You’re not too busy, you’re distracted – ‘Someday is Today’ by Matthew Dicks", "10 ideas I've stolen from books that have changed my life", "687cca25-6d95-443f-9251-7b3f891d4481", false, 38, [], 491, false, "dXH5xv01fsk", "https://www.youtube.com/watch?v=dXH5xv01fsk", 10, "/downloads/SwiftFilms/Season 2025/s2025e101000 - 10 ideas I've stolen from books that have changed my life.mp4", false, false, 98, ~U[2025-10-10 15:45:06Z], ~U[2026-08-05 01:30:05Z], ~U[2026-08-05 01:30:05Z], "Here are ten specific ideas that I have stolen from books I have read.\n \nThese are things I have gone on to buy, disciplines I have instilled, habits I have nurtured and ways of thinking that have completely changed my life.\n \nRather than talking about whole books that have changed my life, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact.\n \nI love the fact that a book, which can be bought at minimal cost, contains ideas within it that can have wide-reaching impact.\n \nThe books which have impacted my life most greatly tend to be ones where I have quickly latched onto an idea or concept and implemented it into my own daily life straight away. These books then remain fresh in my mind.\n \nThe ideas in this video come from a variety of different books, but a lot of them are based around creativity, writing and habit formation. The need to stay consistent is a common theme within these books. \n \nTime stamps\n \n00:12 - Change your environment for success – ‘The Creative Habit’ by Twyla Tharp\n \n01:10 - The analogue table – ‘Steal like an artist’ by Austin Kleon\n \n02:03 - Writing Rituals – ‘On Writing’ by Stephen King\n \n02:49 - Never have a bad day again – ‘My Next Breath’ by Jeremy Renner\n \n03:43 - When I do X I will do Y – ‘Tiny Habits’ by BJ Fogg\n \n04:24 – Small wins matter – ‘The Power of Habit’ by Charles Duhigg\n \n05:03 – Pebbles – ‘Good Days, An A-Z of Hope and Happiness’ by Michael Rosen\n \n05:51 – The personal book – ‘The Compound Effect’ by Darren Hardy\n \n06:26 – Notice the cues – ‘Indistractable’ by Nir Eyal\n \n07:09 – You’re not too busy, you’re distracted – ‘Someday is Today’ by Matthew Dicks", "10 ideas I've stolen from books that have changed my life", 38, 491, false, "dXH5xv01fsk", "https://www.youtube.com/watch?v=dXH5xv01fsk", "/downloads/SwiftFilms/Season 2025/s2025e101000 - 10 ideas I've stolen from books that have changed my life.mp4", false, ~U[2025-10-10 15:45:06Z]] 03:30:05.021 [debug] QUERY OK source="sources" db=0.1ms idle=110.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:05.021 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:05.022 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4226111] 03:30:05.022 [debug] Current batch of media processed. Will check again in 1000ms 03:30:05.714 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "- UGREEN Nexode Pro 200W Power Bank (43% OFF with code: UGREENPB728, until 6/26): https://amzn.to/4vCLmkw\n- UGREEN Nexode Pro 160W Charger (44% OFF until 6/26): https://amzn.to/3StW6TP\n- Check out UGREEN Prime Day Deals, up to 40% OFF: https://amzn.to/49NmEWf\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- Edge 510 Guide: https://github.com/PhoenixSheppy/VeloCloud-Edge-510-OPNsense-Conversion-Guide\n- Edge 610/620 Thread: https://forums.servethehome.com/index.php?threads/dell-vep-vmware-edge-velo-cloud-sd-wan-veracloud-vep1400-vep1400-x-firewall-units.39392/\n- Debian Serial USB Guide: https://github.com/hardwarehaven/Debian-Serial-USB\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ VeloCloud 510s Used: https://ebay.us/Cjx9Ii\n🛍️ VeloCloud 610s Used: https://ebay.us/FlE867\n🛍️ mPCIe to M.2: https://amzn.to/4w2Vsvl\n🛍️ mPCIe to PCIe: https://amzn.to/43LcZvY\n🛍️ SFP RJ45 Transceivers: https://amzn.to/3QfRksF\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 Why do I do this to myself?\n0:54 What are these?\n3:02 Specs and IO\n5:54 Awesome Tech ft. UGREEN (sponsor)\n7:58 Cracking the Edge 510\n9:46 Cracking the Edge 610\n12:17 Networking Issues\n17:04 OPNSense Working\n17:32 OpenWRT\n19:40 Geekbench and power draw\n21:31 Final thoughts", "duration" => 1352, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e062000 - I might have found the BEST budget router....mp4", "id" => "ECmoqrNQLCw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ECmoqrNQLCw", "playlist_index" => 4, "timestamp" => 1781972129, "title" => "I might have found the BEST budget router...", "upload_date" => "20260620"} 03:30:05.715 [debug] QUERY OK source="sources" db=0.2ms idle=698.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:05.715 [debug] QUERY OK source="sources" db=0.1ms idle=694.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:05.716 [debug] QUERY OK source="media_items" db=0.6ms idle=693.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 16:15:29Z], 67] 03:30:05.717 [debug] QUERY OK source="media_items" db=1.1ms idle=694.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["- UGREEN Nexode Pro 200W Power Bank (43% OFF with code: UGREENPB728, until 6/26): https://amzn.to/4vCLmkw\n- UGREEN Nexode Pro 160W Charger (44% OFF until 6/26): https://amzn.to/3StW6TP\n- Check out UGREEN Prime Day Deals, up to 40% OFF: https://amzn.to/49NmEWf\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- Edge 510 Guide: https://github.com/PhoenixSheppy/VeloCloud-Edge-510-OPNsense-Conversion-Guide\n- Edge 610/620 Thread: https://forums.servethehome.com/index.php?threads/dell-vep-vmware-edge-velo-cloud-sd-wan-veracloud-vep1400-vep1400-x-firewall-units.39392/\n- Debian Serial USB Guide: https://github.com/hardwarehaven/Debian-Serial-USB\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ VeloCloud 510s Used: https://ebay.us/Cjx9Ii\n🛍️ VeloCloud 610s Used: https://ebay.us/FlE867\n🛍️ mPCIe to M.2: https://amzn.to/4w2Vsvl\n🛍️ mPCIe to PCIe: https://amzn.to/43LcZvY\n🛍️ SFP RJ45 Transceivers: https://amzn.to/3QfRksF\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 Why do I do this to myself?\n0:54 What are these?\n3:02 Specs and IO\n5:54 Awesome Tech ft. UGREEN (sponsor)\n7:58 Cracking the Edge 510\n9:46 Cracking the Edge 610\n12:17 Networking Issues\n17:04 OPNSense Working\n17:32 OpenWRT\n19:40 Geekbench and power draw\n21:31 Final thoughts", "I might have found the BEST budget router...", "28907f4c-af95-48ba-8b79-21f5052e5fda", false, 67, [], 1352, false, "ECmoqrNQLCw", "https://www.youtube.com/watch?v=ECmoqrNQLCw", 4, "/downloads/Hardware Haven/Season 2026/s2026e062000 - I might have found the BEST budget router....mp4", false, false, 98, ~U[2026-06-20 16:15:29Z], ~U[2026-08-05 01:30:05Z], ~U[2026-08-05 01:30:05Z], "- UGREEN Nexode Pro 200W Power Bank (43% OFF with code: UGREENPB728, until 6/26): https://amzn.to/4vCLmkw\n- UGREEN Nexode Pro 160W Charger (44% OFF until 6/26): https://amzn.to/3StW6TP\n- Check out UGREEN Prime Day Deals, up to 40% OFF: https://amzn.to/49NmEWf\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- Edge 510 Guide: https://github.com/PhoenixSheppy/VeloCloud-Edge-510-OPNsense-Conversion-Guide\n- Edge 610/620 Thread: https://forums.servethehome.com/index.php?threads/dell-vep-vmware-edge-velo-cloud-sd-wan-veracloud-vep1400-vep1400-x-firewall-units.39392/\n- Debian Serial USB Guide: https://github.com/hardwarehaven/Debian-Serial-USB\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ VeloCloud 510s Used: https://ebay.us/Cjx9Ii\n🛍️ VeloCloud 610s Used: https://ebay.us/FlE867\n🛍️ mPCIe to M.2: https://amzn.to/4w2Vsvl\n🛍️ mPCIe to PCIe: https://amzn.to/43LcZvY\n🛍️ SFP RJ45 Transceivers: https://amzn.to/3QfRksF\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 Why do I do this to myself?\n0:54 What are these?\n3:02 Specs and IO\n5:54 Awesome Tech ft. UGREEN (sponsor)\n7:58 Cracking the Edge 510\n9:46 Cracking the Edge 610\n12:17 Networking Issues\n17:04 OPNSense Working\n17:32 OpenWRT\n19:40 Geekbench and power draw\n21:31 Final thoughts", "I might have found the BEST budget router...", 67, 1352, false, "ECmoqrNQLCw", "https://www.youtube.com/watch?v=ECmoqrNQLCw", "/downloads/Hardware Haven/Season 2026/s2026e062000 - I might have found the BEST budget router....mp4", false, ~U[2026-06-20 16:15:29Z]] 03:30:05.717 [debug] QUERY OK source="sources" db=0.2ms idle=695.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:05.718 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:05.718 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5089213] 03:30:05.718 [debug] Current batch of media processed. Will check again in 1000ms 03:30:05.982 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/3e/c23e7b48fa4dd1b2a690e31cb98404974c43111eb82ebf5af27fd8130978bbff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:05.982 [error] yt-dlp download error for media item #5218171: "WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:05.982 [error] yt-dlp download will not be retried: "WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:05.982 [info] {"args":{"id":5218171},"id":133806,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":5283523,"event":"job:stop","queue_time":698314,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:06.023 [debug] Current batch of media processed. Will check again in 1000ms 03:30:06.719 [debug] Current batch of media processed. Will check again in 1000ms 03:30:07.024 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I have had this feeling this year, more than ever before, that time is moving faster and faster. Because of this, I am determined not to waste it. \n\nThe one thing I have found to be an unacceptable waste of my time is my crippling phone addiction and mindless scrolling of the internet.\n\nSo, I came up with an idea that I tried for 30 days. Every hour that I was awake, I set an alarm to go off. There were two aims to this. Firstly, I wanted to become more aware of time passing. I wanted to acknowledge when another hour of my life had passed in the hope that by bringing more awareness to this, it could make it feel like time was not passing by so quickly. \n\nAnd secondly - more importantly - I wanted to use these hourly alarms as a reminder to not waste my time. When the alarm went off, I asked myself the question, 'Am I being intentional with my time?', that is to say, am I doing what I should be doing or what I want to be doing, or am I just wasting time? \n\nThis video documents my 30 day journey and I have to say that I was massively surprised by the outcome. \n\nThank you for watching!", "duration" => 438, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e093000 - Is this the cure for mindless scrolling?.mp4", "id" => "7JmiZ3o5AjQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7JmiZ3o5AjQ", "playlist_index" => 11, "timestamp" => 1759247106, "title" => "Is this the cure for mindless scrolling?", "upload_date" => "20250930"} 03:30:07.025 [debug] QUERY OK source="sources" db=0.2ms idle=1041.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:07.025 [debug] QUERY OK source="sources" db=0.1ms idle=1036.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:07.025 [debug] QUERY OK source="media_items" db=0.3ms idle=250.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-30 15:45:06Z], 38] 03:30:07.027 [debug] QUERY OK source="media_items" db=1.2ms idle=118.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I have had this feeling this year, more than ever before, that time is moving faster and faster. Because of this, I am determined not to waste it. \n\nThe one thing I have found to be an unacceptable waste of my time is my crippling phone addiction and mindless scrolling of the internet.\n\nSo, I came up with an idea that I tried for 30 days. Every hour that I was awake, I set an alarm to go off. There were two aims to this. Firstly, I wanted to become more aware of time passing. I wanted to acknowledge when another hour of my life had passed in the hope that by bringing more awareness to this, it could make it feel like time was not passing by so quickly. \n\nAnd secondly - more importantly - I wanted to use these hourly alarms as a reminder to not waste my time. When the alarm went off, I asked myself the question, 'Am I being intentional with my time?', that is to say, am I doing what I should be doing or what I want to be doing, or am I just wasting time? \n\nThis video documents my 30 day journey and I have to say that I was massively surprised by the outcome. \n\nThank you for watching!", "Is this the cure for mindless scrolling?", "958b4f06-c4e7-4a04-a45e-5b86ab84877d", false, 38, [], 438, false, "7JmiZ3o5AjQ", "https://www.youtube.com/watch?v=7JmiZ3o5AjQ", 11, "/downloads/SwiftFilms/Season 2025/s2025e093000 - Is this the cure for mindless scrolling?.mp4", false, false, 98, ~U[2025-09-30 15:45:06Z], ~U[2026-08-05 01:30:07Z], ~U[2026-08-05 01:30:07Z], "I have had this feeling this year, more than ever before, that time is moving faster and faster. Because of this, I am determined not to waste it. \n\nThe one thing I have found to be an unacceptable waste of my time is my crippling phone addiction and mindless scrolling of the internet.\n\nSo, I came up with an idea that I tried for 30 days. Every hour that I was awake, I set an alarm to go off. There were two aims to this. Firstly, I wanted to become more aware of time passing. I wanted to acknowledge when another hour of my life had passed in the hope that by bringing more awareness to this, it could make it feel like time was not passing by so quickly. \n\nAnd secondly - more importantly - I wanted to use these hourly alarms as a reminder to not waste my time. When the alarm went off, I asked myself the question, 'Am I being intentional with my time?', that is to say, am I doing what I should be doing or what I want to be doing, or am I just wasting time? \n\nThis video documents my 30 day journey and I have to say that I was massively surprised by the outcome. \n\nThank you for watching!", "Is this the cure for mindless scrolling?", 38, 438, false, "7JmiZ3o5AjQ", "https://www.youtube.com/watch?v=7JmiZ3o5AjQ", "/downloads/SwiftFilms/Season 2025/s2025e093000 - Is this the cure for mindless scrolling?.mp4", false, ~U[2025-09-30 15:45:06Z]] 03:30:07.027 [debug] QUERY OK source="sources" db=0.1ms idle=113.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:07.028 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:07.028 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4197929] 03:30:07.028 [debug] Current batch of media processed. Will check again in 1000ms 03:30:07.720 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/8v1YyHs or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n1:36 Tip Number 1\n4:23 Tip Number 2\n5:56 Bonus Tip a.k.a. Monarch Money (sponsor)\n7:45 Tip Number 3\n11:06 Tip Number 4\n13:43 Tip Number 5\n18:03 Tip Number 6", "duration" => 1300, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e061300 - 6 Tips for Finding Good Deals on PC Hardware.mp4", "id" => "czsb3xFHm_c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=czsb3xFHm_c", "playlist_index" => 5, "timestamp" => 1781370550, "title" => "6 Tips for Finding Good Deals on PC Hardware", "upload_date" => "20260613"} 03:30:07.721 [debug] QUERY OK source="sources" db=0.2ms idle=694.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:07.721 [debug] QUERY OK source="sources" db=0.1ms idle=693.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:07.721 [debug] QUERY OK source="media_items" db=0.3ms idle=693.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-13 17:09:10Z], 67] 03:30:07.722 [debug] QUERY OK source="media_items" db=0.6ms idle=693.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/8v1YyHs or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n1:36 Tip Number 1\n4:23 Tip Number 2\n5:56 Bonus Tip a.k.a. Monarch Money (sponsor)\n7:45 Tip Number 3\n11:06 Tip Number 4\n13:43 Tip Number 5\n18:03 Tip Number 6", "6 Tips for Finding Good Deals on PC Hardware", "40d502e0-7296-4274-951c-c60c9910c728", false, 67, [], 1300, false, "czsb3xFHm_c", "https://www.youtube.com/watch?v=czsb3xFHm_c", 5, "/downloads/Hardware Haven/Season 2026/s2026e061300 - 6 Tips for Finding Good Deals on PC Hardware.mp4", false, false, 98, ~U[2026-06-13 17:09:10Z], ~U[2026-08-05 01:30:07Z], ~U[2026-08-05 01:30:07Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/8v1YyHs or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n1:36 Tip Number 1\n4:23 Tip Number 2\n5:56 Bonus Tip a.k.a. Monarch Money (sponsor)\n7:45 Tip Number 3\n11:06 Tip Number 4\n13:43 Tip Number 5\n18:03 Tip Number 6", "6 Tips for Finding Good Deals on PC Hardware", 67, 1300, false, "czsb3xFHm_c", "https://www.youtube.com/watch?v=czsb3xFHm_c", "/downloads/Hardware Haven/Season 2026/s2026e061300 - 6 Tips for Finding Good Deals on PC Hardware.mp4", false, ~U[2026-06-13 17:09:10Z]] 03:30:07.722 [debug] QUERY OK source="sources" db=0.1ms idle=694.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:07.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:07.723 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5066448] 03:30:07.723 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "I bought this \"for parts\" Supermicro X11SRA-F motherboard for just $122. Can I get it working? Hope you enjoy!", "duration" => 619, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e060400 - I bought a $500 "For Parts" motherboard. Can I fix it?.NA", "id" => "Xf3aZIRqT2Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xf3aZIRqT2Q", "playlist_index" => 6, "timestamp" => 1780598260, "title" => "I bought a $500 \"For Parts\" motherboard. Can I fix it?", "upload_date" => "20260604"} 03:30:07.724 [debug] QUERY OK source="sources" db=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:07.724 [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" = ?) [67] 03:30:07.725 [debug] QUERY OK source="media_items" db=0.5ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 18:37:40Z], 67] 03:30:07.726 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought this \"for parts\" Supermicro X11SRA-F motherboard for just $122. Can I get it working? Hope you enjoy!", "I bought a $500 \"For Parts\" motherboard. Can I fix it?", "cc88e73b-7fc7-4245-afee-bd815988138d", false, 67, [], 619, false, "Xf3aZIRqT2Q", "https://www.youtube.com/watch?v=Xf3aZIRqT2Q", 6, "/downloads/Hardware Haven/Season 2026/s2026e060400 - I bought a $500 "For Parts" motherboard. Can I fix it?.NA", false, false, 98, ~U[2026-06-04 18:37:40Z], ~U[2026-08-05 01:30:07Z], ~U[2026-08-05 01:30:07Z], "I bought this \"for parts\" Supermicro X11SRA-F motherboard for just $122. Can I get it working? Hope you enjoy!", "I bought a $500 \"For Parts\" motherboard. Can I fix it?", 67, 619, false, "Xf3aZIRqT2Q", "https://www.youtube.com/watch?v=Xf3aZIRqT2Q", "/downloads/Hardware Haven/Season 2026/s2026e060400 - I bought a $500 "For Parts" motherboard. Can I fix it?.NA", false, ~U[2026-06-04 18:37:40Z]] 03:30:07.726 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:07.726 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:07.727 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5041249] 03:30:07.727 [info] Kicking off download for media item #5041249 (Xf3aZIRqT2Q) 03:30:07.729 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133808, 5041249, ~U[2026-08-05 01:30:07Z], ~U[2026-08-05 01:30:07Z]] 03:30:07.729 [debug] Current batch of media processed. Will check again in 1000ms 03:30:07.734 [info] {"args":{"id":5041249},"id":133808,"meta":{},"system_time":1785893407734827042,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:07.735 [debug] QUERY OK source="media_items" db=0.1ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5041249] 03:30:07.735 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:07.735 [debug] QUERY OK source="sources" db=0.1ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:07.735 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:07.735 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5041249] 03:30:07.736 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5041249] 03:30:07.736 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:07.736 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:07.736 [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 [] 03:30:07.736 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:07.737 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:07.737 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:07.737 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:07.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Xf3aZIRqT2Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/fe/43fe42018f4c6ccdbada89352a293afa45e95b09bbc58253ce0bfc9703f14dec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:08.029 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nA pen is the only tool you need to change your life. In this video, I will show you 10 ways in which you can do this and also convince you that you can change any relationship with it.\n\nThis video features two unique writing exercises that I learned from Quentin Tarantino and Chris Martin - exercises which they credit with changing and transforming their lives.\n\nIf you are interested in trying out any of the things I talk about in this video, then start small. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these writing exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:10 - The \"Detest Fest\"\n00:59 - Free-form writing\n01:46 - The splurge list\n02:14 - The Done List\n02:50 - The handwritten word \n03:47 - Thoughts and ideas\n04:08 - Document your life\n05:01 - Food diary\n05:24 - 3 key tasks\n06:00 - Habit tracking\n\nThank you for watching!", "duration" => 429, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e083000 - 10 ways to change your life with just a pen.mp4", "id" => "5nFqB177xUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5nFqB177xUg", "playlist_index" => 12, "timestamp" => 1756568706, "title" => "10 ways to change your life with just a pen", "upload_date" => "20250830"} 03:30:08.029 [debug] QUERY OK source="sources" db=0.1ms idle=292.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:08.030 [debug] QUERY OK source="sources" db=0.0ms idle=292.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:08.030 [debug] QUERY OK source="media_items" db=0.2ms idle=292.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 15:45:06Z], 38] 03:30:08.040 [debug] QUERY OK source="media_items" db=9.9ms idle=121.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nA pen is the only tool you need to change your life. In this video, I will show you 10 ways in which you can do this and also convince you that you can change any relationship with it.\n\nThis video features two unique writing exercises that I learned from Quentin Tarantino and Chris Martin - exercises which they credit with changing and transforming their lives.\n\nIf you are interested in trying out any of the things I talk about in this video, then start small. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these writing exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:10 - The \"Detest Fest\"\n00:59 - Free-form writing\n01:46 - The splurge list\n02:14 - The Done List\n02:50 - The handwritten word \n03:47 - Thoughts and ideas\n04:08 - Document your life\n05:01 - Food diary\n05:24 - 3 key tasks\n06:00 - Habit tracking\n\nThank you for watching!", "10 ways to change your life with just a pen", "54be49dc-5bfc-4c88-bfb6-2011297397da", false, 38, [], 429, false, "5nFqB177xUg", "https://www.youtube.com/watch?v=5nFqB177xUg", 12, "/downloads/SwiftFilms/Season 2025/s2025e083000 - 10 ways to change your life with just a pen.mp4", false, false, 98, ~U[2025-08-30 15:45:06Z], ~U[2026-08-05 01:30:08Z], ~U[2026-08-05 01:30:08Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nA pen is the only tool you need to change your life. In this video, I will show you 10 ways in which you can do this and also convince you that you can change any relationship with it.\n\nThis video features two unique writing exercises that I learned from Quentin Tarantino and Chris Martin - exercises which they credit with changing and transforming their lives.\n\nIf you are interested in trying out any of the things I talk about in this video, then start small. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these writing exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:10 - The \"Detest Fest\"\n00:59 - Free-form writing\n01:46 - The splurge list\n02:14 - The Done List\n02:50 - The handwritten word \n03:47 - Thoughts and ideas\n04:08 - Document your life\n05:01 - Food diary\n05:24 - 3 key tasks\n06:00 - Habit tracking\n\nThank you for watching!", "10 ways to change your life with just a pen", 38, 429, false, "5nFqB177xUg", "https://www.youtube.com/watch?v=5nFqB177xUg", "/downloads/SwiftFilms/Season 2025/s2025e083000 - 10 ways to change your life with just a pen.mp4", false, ~U[2025-08-30 15:45:06Z]] 03:30:08.041 [debug] QUERY OK source="sources" db=0.1ms idle=126.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:08.041 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:08.041 [debug] QUERY OK source="media_items" db=0.2ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4110509] 03:30:08.041 [debug] Current batch of media processed. Will check again in 1000ms 03:30:08.729 [debug] Current batch of media processed. Will check again in 1000ms 03:30:09.042 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "You have everything you need to document your life, but these five tips will make a really profound difference. Not only to your own life, but those closest to you as well. \n\nThere are a handful of simple things that I do to document my life as well as the lives of those closest to me. It is one of the most valuable things that I have ever done. \n\nDocumenting the mundane things I do from day to day can seem dull, but this becomes more valuable with the passing of time. This video shares a handful of simple ideas to document your own life, from the power of writing a few sentences, to taking photographs and shooting one second of video each day. \n\nAs with any new habit, this requires patience and consistency. But persevere with it and it is hugely rewarding.\n\nOutline:\n\n00.08 Write it down\n01.02 Document your family\n02.24 One second of video per day\n03.29 Print photos\n04.13 Document don’t create\n\nThank you for watching!", "duration" => 350, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e081300 - 5 tips to document your life in a meaningful way.mp4", "id" => "0Ul9_4HqbNg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0Ul9_4HqbNg", "playlist_index" => 13, "timestamp" => 1755099906, "title" => "5 tips to document your life in a meaningful way", "upload_date" => "20250813"} 03:30:09.042 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:09.043 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:09.043 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-13 15:45:06Z], 38] 03:30:09.044 [debug] QUERY OK source="media_items" db=0.6ms idle=133.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["You have everything you need to document your life, but these five tips will make a really profound difference. Not only to your own life, but those closest to you as well. \n\nThere are a handful of simple things that I do to document my life as well as the lives of those closest to me. It is one of the most valuable things that I have ever done. \n\nDocumenting the mundane things I do from day to day can seem dull, but this becomes more valuable with the passing of time. This video shares a handful of simple ideas to document your own life, from the power of writing a few sentences, to taking photographs and shooting one second of video each day. \n\nAs with any new habit, this requires patience and consistency. But persevere with it and it is hugely rewarding.\n\nOutline:\n\n00.08 Write it down\n01.02 Document your family\n02.24 One second of video per day\n03.29 Print photos\n04.13 Document don’t create\n\nThank you for watching!", "5 tips to document your life in a meaningful way", "3b09c351-9e35-4033-b935-a23b18bcc510", false, 38, [], 350, false, "0Ul9_4HqbNg", "https://www.youtube.com/watch?v=0Ul9_4HqbNg", 13, "/downloads/SwiftFilms/Season 2025/s2025e081300 - 5 tips to document your life in a meaningful way.mp4", false, false, 98, ~U[2025-08-13 15:45:06Z], ~U[2026-08-05 01:30:09Z], ~U[2026-08-05 01:30:09Z], "You have everything you need to document your life, but these five tips will make a really profound difference. Not only to your own life, but those closest to you as well. \n\nThere are a handful of simple things that I do to document my life as well as the lives of those closest to me. It is one of the most valuable things that I have ever done. \n\nDocumenting the mundane things I do from day to day can seem dull, but this becomes more valuable with the passing of time. This video shares a handful of simple ideas to document your own life, from the power of writing a few sentences, to taking photographs and shooting one second of video each day. \n\nAs with any new habit, this requires patience and consistency. But persevere with it and it is hugely rewarding.\n\nOutline:\n\n00.08 Write it down\n01.02 Document your family\n02.24 One second of video per day\n03.29 Print photos\n04.13 Document don’t create\n\nThank you for watching!", "5 tips to document your life in a meaningful way", 38, 350, false, "0Ul9_4HqbNg", "https://www.youtube.com/watch?v=0Ul9_4HqbNg", "/downloads/SwiftFilms/Season 2025/s2025e081300 - 5 tips to document your life in a meaningful way.mp4", false, ~U[2025-08-13 15:45:06Z]] 03:30:09.044 [debug] QUERY OK source="sources" db=0.1ms idle=128.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:09.044 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:09.045 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4061435] 03:30:09.045 [debug] Current batch of media processed. Will check again in 1000ms 03:30:09.692 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Xf3aZIRqT2Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/fe/43fe42018f4c6ccdbada89352a293afa45e95b09bbc58253ce0bfc9703f14dec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:09.692 [error] yt-dlp download error for media item #5041249: "WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:09.692 [error] yt-dlp download will not be retried: "WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:09.692 [info] {"args":{"id":5041249},"id":133808,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1957681,"event":"job:stop","queue_time":734315,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:09.730 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Fanttik’s biggest day of the year is today! The 6th anniversary celebration!\n- Get 44% off the Fanttik B10 Pro Max Electric Air Duster with my code HardwareB10 at: https://amzn.to/4wdYcXt \n- Get 35% off the Fanttik S2 Pro Electric Screwdriver with my code HardwareS2 at: https://amzn.to/48Nas7h \n- #Fanttik #FanttikDay\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ mPCIe to M.2 E: https://amzn.to/4veGHVz\n🛍️ mPCIe to PCIe Slot: https://amzn.to/4uIonEs\n🛍️ mPCIe to SATA: https://amzn.to/4nV8BUe\n🛍️ mPCIe extension: https://amzn.to/430ghLp\n🛍️ mPCIe to GbE: https://amzn.to/4wUk1vH\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This PC is special\n0:49 HP 500-c60\n2:40 B10 Pro Max (sponsor)\n4:37 Internal Specs\n5:44 Getting it booted\n6:32 Network Issues\n7:37 Sorting out RAM\n8:21 Power Draw\n8:59 Geekbench\n9:26 Hosting a Minecraft Server\n10:10 Mini PCIe Woes\n13:23 Using this as a Home Server?\n14:17 Desktop usage with Debian\n15:09 Moonlight for some reason\n15:42 Good memories...", "duration" => 1021, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e053100 - The PC That Started My Channel.mp4", "id" => "sHjFfBNyeF4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sHjFfBNyeF4", "playlist_index" => 7, "timestamp" => 1780242604, "title" => "The PC That Started My Channel", "upload_date" => "20260531"} 03:30:09.730 [debug] QUERY OK source="sources" db=0.2ms idle=686.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:09.731 [debug] QUERY OK source="sources" db=0.1ms idle=686.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:09.731 [debug] QUERY OK source="media_items" db=0.5ms idle=686.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 15:50:04Z], 67] 03:30:09.733 [debug] QUERY OK source="media_items" db=0.8ms idle=39.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fanttik’s biggest day of the year is today! The 6th anniversary celebration!\n- Get 44% off the Fanttik B10 Pro Max Electric Air Duster with my code HardwareB10 at: https://amzn.to/4wdYcXt \n- Get 35% off the Fanttik S2 Pro Electric Screwdriver with my code HardwareS2 at: https://amzn.to/48Nas7h \n- #Fanttik #FanttikDay\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ mPCIe to M.2 E: https://amzn.to/4veGHVz\n🛍️ mPCIe to PCIe Slot: https://amzn.to/4uIonEs\n🛍️ mPCIe to SATA: https://amzn.to/4nV8BUe\n🛍️ mPCIe extension: https://amzn.to/430ghLp\n🛍️ mPCIe to GbE: https://amzn.to/4wUk1vH\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This PC is special\n0:49 HP 500-c60\n2:40 B10 Pro Max (sponsor)\n4:37 Internal Specs\n5:44 Getting it booted\n6:32 Network Issues\n7:37 Sorting out RAM\n8:21 Power Draw\n8:59 Geekbench\n9:26 Hosting a Minecraft Server\n10:10 Mini PCIe Woes\n13:23 Using this as a Home Server?\n14:17 Desktop usage with Debian\n15:09 Moonlight for some reason\n15:42 Good memories...", "The PC That Started My Channel", "f73d7da4-7cf5-4cb9-9d48-240f05af27a6", false, 67, [], 1021, false, "sHjFfBNyeF4", "https://www.youtube.com/watch?v=sHjFfBNyeF4", 7, "/downloads/Hardware Haven/Season 2026/s2026e053100 - The PC That Started My Channel.mp4", false, false, 98, ~U[2026-05-31 15:50:04Z], ~U[2026-08-05 01:30:09Z], ~U[2026-08-05 01:30:09Z], "Fanttik’s biggest day of the year is today! The 6th anniversary celebration!\n- Get 44% off the Fanttik B10 Pro Max Electric Air Duster with my code HardwareB10 at: https://amzn.to/4wdYcXt \n- Get 35% off the Fanttik S2 Pro Electric Screwdriver with my code HardwareS2 at: https://amzn.to/48Nas7h \n- #Fanttik #FanttikDay\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ mPCIe to M.2 E: https://amzn.to/4veGHVz\n🛍️ mPCIe to PCIe Slot: https://amzn.to/4uIonEs\n🛍️ mPCIe to SATA: https://amzn.to/4nV8BUe\n🛍️ mPCIe extension: https://amzn.to/430ghLp\n🛍️ mPCIe to GbE: https://amzn.to/4wUk1vH\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This PC is special\n0:49 HP 500-c60\n2:40 B10 Pro Max (sponsor)\n4:37 Internal Specs\n5:44 Getting it booted\n6:32 Network Issues\n7:37 Sorting out RAM\n8:21 Power Draw\n8:59 Geekbench\n9:26 Hosting a Minecraft Server\n10:10 Mini PCIe Woes\n13:23 Using this as a Home Server?\n14:17 Desktop usage with Debian\n15:09 Moonlight for some reason\n15:42 Good memories...", "The PC That Started My Channel", 67, 1021, false, "sHjFfBNyeF4", "https://www.youtube.com/watch?v=sHjFfBNyeF4", "/downloads/Hardware Haven/Season 2026/s2026e053100 - The PC That Started My Channel.mp4", false, ~U[2026-05-31 15:50:04Z]] 03:30:09.733 [debug] QUERY OK source="sources" db=0.1ms idle=34.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:09.733 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:09.733 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5018984] 03:30:09.733 [debug] Current batch of media processed. Will check again in 1000ms 03:30:10.045 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nThis video is only two and a half minutes long. That's 150 seconds. It's not long, but here is a list of 30 things that you could have done instead of watch this video that would have been a better use of your time.\n\nOutline:\n\n1) Tidy your desk.\n2) Write down all of your frustrations onto the page. Then destroy it.\n3) Write that tricky email.\n4) You can walk nearly 300 steps in 2 and a half minutes.\n5) Shred some old papers.\n6) Declutter a drawer.\n7) Beat your child at Connect 4.\n8) Empty the washing machine.\n9) Observe the natural world around you.\n10) Spend some time with cats.\n11) Learn a phrase in a foreign language.\n12) Plank.\n13) Press ups.\n14) Squats.\n15) Juggle.\n16) Write a letter or card to an old friend.\n17) Water some plants.\n18) Immerse yourself in cold water.\n19) Read a page or two of a book.\n20) Listen to some music, but give it your full attention.\n21) Make a green smoothie.\n22) Unsubscribe from emails you no longer read.\n23) Pour yourself a big glass of water.\n24) Read to someone younger than you.\n25) Make a list of everything you need to remember.\n26) Do some mobility exercises.\n27) Make some coffee.\n28) Close your eyes and breathe.\n29) Take an extended toilet break.\n30) Make s start on your big goal.", "duration" => 150, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e071600 - 30 reasons NOT to watch this video.mp4", "id" => "X-GrR_KHTX4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X-GrR_KHTX4", "playlist_index" => 14, "timestamp" => 1752680706, "title" => "30 reasons NOT to watch this video", "upload_date" => "20250716"} 03:30:10.046 [debug] QUERY OK source="sources" db=0.1ms idle=312.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:10.046 [debug] QUERY OK source="sources" db=0.1ms idle=312.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:10.046 [debug] QUERY OK source="media_items" db=0.3ms idle=312.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 15:45:06Z], 38] 03:30:10.048 [debug] QUERY OK source="media_items" db=0.8ms idle=135.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nThis video is only two and a half minutes long. That's 150 seconds. It's not long, but here is a list of 30 things that you could have done instead of watch this video that would have been a better use of your time.\n\nOutline:\n\n1) Tidy your desk.\n2) Write down all of your frustrations onto the page. Then destroy it.\n3) Write that tricky email.\n4) You can walk nearly 300 steps in 2 and a half minutes.\n5) Shred some old papers.\n6) Declutter a drawer.\n7) Beat your child at Connect 4.\n8) Empty the washing machine.\n9) Observe the natural world around you.\n10) Spend some time with cats.\n11) Learn a phrase in a foreign language.\n12) Plank.\n13) Press ups.\n14) Squats.\n15) Juggle.\n16) Write a letter or card to an old friend.\n17) Water some plants.\n18) Immerse yourself in cold water.\n19) Read a page or two of a book.\n20) Listen to some music, but give it your full attention.\n21) Make a green smoothie.\n22) Unsubscribe from emails you no longer read.\n23) Pour yourself a big glass of water.\n24) Read to someone younger than you.\n25) Make a list of everything you need to remember.\n26) Do some mobility exercises.\n27) Make some coffee.\n28) Close your eyes and breathe.\n29) Take an extended toilet break.\n30) Make s start on your big goal.", "30 reasons NOT to watch this video", "44c88c94-01ad-493d-8510-d468c3240d9c", false, 38, [], 150, false, "X-GrR_KHTX4", "https://www.youtube.com/watch?v=X-GrR_KHTX4", 14, "/downloads/SwiftFilms/Season 2025/s2025e071600 - 30 reasons NOT to watch this video.mp4", false, false, 98, ~U[2025-07-16 15:45:06Z], ~U[2026-08-05 01:30:10Z], ~U[2026-08-05 01:30:10Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nThis video is only two and a half minutes long. That's 150 seconds. It's not long, but here is a list of 30 things that you could have done instead of watch this video that would have been a better use of your time.\n\nOutline:\n\n1) Tidy your desk.\n2) Write down all of your frustrations onto the page. Then destroy it.\n3) Write that tricky email.\n4) You can walk nearly 300 steps in 2 and a half minutes.\n5) Shred some old papers.\n6) Declutter a drawer.\n7) Beat your child at Connect 4.\n8) Empty the washing machine.\n9) Observe the natural world around you.\n10) Spend some time with cats.\n11) Learn a phrase in a foreign language.\n12) Plank.\n13) Press ups.\n14) Squats.\n15) Juggle.\n16) Write a letter or card to an old friend.\n17) Water some plants.\n18) Immerse yourself in cold water.\n19) Read a page or two of a book.\n20) Listen to some music, but give it your full attention.\n21) Make a green smoothie.\n22) Unsubscribe from emails you no longer read.\n23) Pour yourself a big glass of water.\n24) Read to someone younger than you.\n25) Make a list of everything you need to remember.\n26) Do some mobility exercises.\n27) Make some coffee.\n28) Close your eyes and breathe.\n29) Take an extended toilet break.\n30) Make s start on your big goal.", "30 reasons NOT to watch this video", 38, 150, false, "X-GrR_KHTX4", "https://www.youtube.com/watch?v=X-GrR_KHTX4", "/downloads/SwiftFilms/Season 2025/s2025e071600 - 30 reasons NOT to watch this video.mp4", false, ~U[2025-07-16 15:45:06Z]] 03:30:10.048 [debug] QUERY OK source="sources" db=0.1ms idle=131.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:10.048 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:10.048 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3979944] 03:30:10.048 [debug] Current batch of media processed. Will check again in 1000ms 03:30:10.734 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Pickup an LTT Precision Multi-bit Kit here! ► https://www.lttstore.com/products/ltt-precision-multi-bit-standard-kit-standard-31-bits?snowball=HH1359&utm_source=snowball&utm_medium=ltt-2026-v2-t1&utm_campaign=HH1359\n_This is an affiliate link, so I receive compensation for completed purchases._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Helpful Links:\n- Bazzite: https://bazzite.gg\n- Pulse Eight Forum Post: Solution: https://universal-blue.discourse.group/t/pulse-eight-hdmi-cec-support/7064\n- My Solutions for USB Wakeup and CEC: https://github.com/hardwarehaven/Video-Notes/blob/main/bazzite%20console%20notes/Bazzite%20Notes.md\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ 8BitDo Controller: https://amzn.to/4f3HIer\n🛍️HDMI CEC-USB Adapter: https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter\n🛍️ DP to HDMI with CEC: https://amzn.to/49RsKVp\n🛍️ Rii Remote (track pad): https://amzn.to/4wGe5GB\n🛍️ Rii Remote (air mouse): https://amzn.to/4dpTBds\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I want to play games\n1:34 My Goals\n4:07 The PC\n5:27 Making it feel like a console\n6:00 Standard Precision Multi-Bit Kit (sponsor)\n8:03 The OS\n9:39 Removing the friction\n10:05 Wake from controller\n11:18 HDMI CEC\n13:14 CEC Issues\n18:11 Goodbye Friction\n19:07 Wife Approval\n19:40 Keyboard & Mouse Alternative\n20:40 Game Streaming\n22:52 Can you build it on a budget?", "duration" => 1522, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e052300 - I didn't want to buy a console, so I built this..mp4", "id" => "ydbsXjZxYBo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ydbsXjZxYBo", "playlist_index" => 8, "timestamp" => 1779552032, "title" => "I didn't want to buy a console, so I built this.", "upload_date" => "20260523"} 03:30:10.735 [debug] QUERY OK source="sources" db=0.3ms idle=687.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:10.735 [debug] QUERY OK source="sources" db=0.1ms idle=687.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:10.736 [debug] QUERY OK source="media_items" db=0.6ms idle=687.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 16:00:32Z], 67] 03:30:10.737 [debug] QUERY OK source="media_items" db=1.3ms idle=687.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Pickup an LTT Precision Multi-bit Kit here! ► https://www.lttstore.com/products/ltt-precision-multi-bit-standard-kit-standard-31-bits?snowball=HH1359&utm_source=snowball&utm_medium=ltt-2026-v2-t1&utm_campaign=HH1359\n_This is an affiliate link, so I receive compensation for completed purchases._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Helpful Links:\n- Bazzite: https://bazzite.gg\n- Pulse Eight Forum Post: Solution: https://universal-blue.discourse.group/t/pulse-eight-hdmi-cec-support/7064\n- My Solutions for USB Wakeup and CEC: https://github.com/hardwarehaven/Video-Notes/blob/main/bazzite%20console%20notes/Bazzite%20Notes.md\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ 8BitDo Controller: https://amzn.to/4f3HIer\n🛍️HDMI CEC-USB Adapter: https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter\n🛍️ DP to HDMI with CEC: https://amzn.to/49RsKVp\n🛍️ Rii Remote (track pad): https://amzn.to/4wGe5GB\n🛍️ Rii Remote (air mouse): https://amzn.to/4dpTBds\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I want to play games\n1:34 My Goals\n4:07 The PC\n5:27 Making it feel like a console\n6:00 Standard Precision Multi-Bit Kit (sponsor)\n8:03 The OS\n9:39 Removing the friction\n10:05 Wake from controller\n11:18 HDMI CEC\n13:14 CEC Issues\n18:11 Goodbye Friction\n19:07 Wife Approval\n19:40 Keyboard & Mouse Alternative\n20:40 Game Streaming\n22:52 Can you build it on a budget?", "I didn't want to buy a console, so I built this.", "1fb04c21-2a8b-4e06-a400-fb354260e3cf", false, 67, [], 1522, false, "ydbsXjZxYBo", "https://www.youtube.com/watch?v=ydbsXjZxYBo", 8, "/downloads/Hardware Haven/Season 2026/s2026e052300 - I didn't want to buy a console, so I built this..mp4", false, false, 98, ~U[2026-05-23 16:00:32Z], ~U[2026-08-05 01:30:10Z], ~U[2026-08-05 01:30:10Z], "Pickup an LTT Precision Multi-bit Kit here! ► https://www.lttstore.com/products/ltt-precision-multi-bit-standard-kit-standard-31-bits?snowball=HH1359&utm_source=snowball&utm_medium=ltt-2026-v2-t1&utm_campaign=HH1359\n_This is an affiliate link, so I receive compensation for completed purchases._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Helpful Links:\n- Bazzite: https://bazzite.gg\n- Pulse Eight Forum Post: Solution: https://universal-blue.discourse.group/t/pulse-eight-hdmi-cec-support/7064\n- My Solutions for USB Wakeup and CEC: https://github.com/hardwarehaven/Video-Notes/blob/main/bazzite%20console%20notes/Bazzite%20Notes.md\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ 8BitDo Controller: https://amzn.to/4f3HIer\n🛍️HDMI CEC-USB Adapter: https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter\n🛍️ DP to HDMI with CEC: https://amzn.to/49RsKVp\n🛍️ Rii Remote (track pad): https://amzn.to/4wGe5GB\n🛍️ Rii Remote (air mouse): https://amzn.to/4dpTBds\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I want to play games\n1:34 My Goals\n4:07 The PC\n5:27 Making it feel like a console\n6:00 Standard Precision Multi-Bit Kit (sponsor)\n8:03 The OS\n9:39 Removing the friction\n10:05 Wake from controller\n11:18 HDMI CEC\n13:14 CEC Issues\n18:11 Goodbye Friction\n19:07 Wife Approval\n19:40 Keyboard & Mouse Alternative\n20:40 Game Streaming\n22:52 Can you build it on a budget?", "I didn't want to buy a console, so I built this.", 67, 1522, false, "ydbsXjZxYBo", "https://www.youtube.com/watch?v=ydbsXjZxYBo", "/downloads/Hardware Haven/Season 2026/s2026e052300 - I didn't want to buy a console, so I built this..mp4", false, ~U[2026-05-23 16:00:32Z]] 03:30:10.738 [debug] QUERY OK source="sources" db=0.1ms idle=689.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:10.738 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:10.738 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4989501] 03:30:10.738 [debug] Current batch of media processed. Will check again in 1000ms 03:30:11.049 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For so many years, I hated my phone! In this video, I share the experimental idea that I started doing nearly two years ago that has finally stopped the urge to keep checking my phone and reduced my screen time by nearly 70%.\n\nMy phone addiction had been cultivated over many years. It wasn’t as simple as deciding that I wanted to use my phone less. I had to introduce strict measures to make this happen and then persevere over a period of time. In the video, I talk about the three step process that I used to make this happen. \n\nIf you want to try and restrict your phone use or try any of the things I mention in this video, my advice is to take really small steps. Identify a one hour window in your day where your phone use is at its worst, or where using it makes you feel most unhappy. Consciously decide not to use your phone during this period. And then build it up from there. \n\nIf you launch straight into not using your phone for 16 hours a day, you will most likely fail. Pay attention to your behaviour. Notice your cues. Restrict your phone use slowly. I guarantee that if you can get into the habit of not using your phone for a 16 hour window every day, your life will change so much for the better. \n\n\nOutline:\n\n00:00 Why I hate my phone\n00:12 The day I decided to change my phone use habit\n00:53 Notice the internal and external triggers\n01:42 The 16-8 idea\n02:22 Step 1 – The timer lock-box\n03:48 Step 2 – Brick\n05:15 Step 3 – elastic band and downtime\n06:03 Replacing one habit with another\n07:33 How to curb your phone use\n\nThank you for watching!", "duration" => 478, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e041400 - How I reduced my screen time by 67% (guide).mp4", "id" => "D3vHfjiTUKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D3vHfjiTUKw", "playlist_index" => 15, "timestamp" => 1744645500, "title" => "How I reduced my screen time by 67% (guide)", "upload_date" => "20250414"} 03:30:11.050 [debug] QUERY OK source="sources" db=0.2ms idle=311.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:11.050 [debug] QUERY OK source="sources" db=0.0ms idle=311.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:11.050 [debug] QUERY OK source="media_items" db=0.2ms idle=311.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 15:45:00Z], 38] 03:30:11.051 [debug] QUERY OK source="media_items" db=0.9ms idle=136.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["For so many years, I hated my phone! In this video, I share the experimental idea that I started doing nearly two years ago that has finally stopped the urge to keep checking my phone and reduced my screen time by nearly 70%.\n\nMy phone addiction had been cultivated over many years. It wasn’t as simple as deciding that I wanted to use my phone less. I had to introduce strict measures to make this happen and then persevere over a period of time. In the video, I talk about the three step process that I used to make this happen. \n\nIf you want to try and restrict your phone use or try any of the things I mention in this video, my advice is to take really small steps. Identify a one hour window in your day where your phone use is at its worst, or where using it makes you feel most unhappy. Consciously decide not to use your phone during this period. And then build it up from there. \n\nIf you launch straight into not using your phone for 16 hours a day, you will most likely fail. Pay attention to your behaviour. Notice your cues. Restrict your phone use slowly. I guarantee that if you can get into the habit of not using your phone for a 16 hour window every day, your life will change so much for the better. \n\n\nOutline:\n\n00:00 Why I hate my phone\n00:12 The day I decided to change my phone use habit\n00:53 Notice the internal and external triggers\n01:42 The 16-8 idea\n02:22 Step 1 – The timer lock-box\n03:48 Step 2 – Brick\n05:15 Step 3 – elastic band and downtime\n06:03 Replacing one habit with another\n07:33 How to curb your phone use\n\nThank you for watching!", "How I reduced my screen time by 67% (guide)", "dceeda3e-efbd-45cc-b69f-68f14b466355", false, 38, [], 478, false, "D3vHfjiTUKw", "https://www.youtube.com/watch?v=D3vHfjiTUKw", 15, "/downloads/SwiftFilms/Season 2025/s2025e041400 - How I reduced my screen time by 67% (guide).mp4", false, false, 98, ~U[2025-04-14 15:45:00Z], ~U[2026-08-05 01:30:11Z], ~U[2026-08-05 01:30:11Z], "For so many years, I hated my phone! In this video, I share the experimental idea that I started doing nearly two years ago that has finally stopped the urge to keep checking my phone and reduced my screen time by nearly 70%.\n\nMy phone addiction had been cultivated over many years. It wasn’t as simple as deciding that I wanted to use my phone less. I had to introduce strict measures to make this happen and then persevere over a period of time. In the video, I talk about the three step process that I used to make this happen. \n\nIf you want to try and restrict your phone use or try any of the things I mention in this video, my advice is to take really small steps. Identify a one hour window in your day where your phone use is at its worst, or where using it makes you feel most unhappy. Consciously decide not to use your phone during this period. And then build it up from there. \n\nIf you launch straight into not using your phone for 16 hours a day, you will most likely fail. Pay attention to your behaviour. Notice your cues. Restrict your phone use slowly. I guarantee that if you can get into the habit of not using your phone for a 16 hour window every day, your life will change so much for the better. \n\n\nOutline:\n\n00:00 Why I hate my phone\n00:12 The day I decided to change my phone use habit\n00:53 Notice the internal and external triggers\n01:42 The 16-8 idea\n02:22 Step 1 – The timer lock-box\n03:48 Step 2 – Brick\n05:15 Step 3 – elastic band and downtime\n06:03 Replacing one habit with another\n07:33 How to curb your phone use\n\nThank you for watching!", "How I reduced my screen time by 67% (guide)", 38, 478, false, "D3vHfjiTUKw", "https://www.youtube.com/watch?v=D3vHfjiTUKw", "/downloads/SwiftFilms/Season 2025/s2025e041400 - How I reduced my screen time by 67% (guide).mp4", false, ~U[2025-04-14 15:45:00Z]] 03:30:11.052 [debug] QUERY OK source="sources" db=0.1ms idle=127.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:11.052 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:11.052 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3514063] 03:30:11.052 [debug] Current batch of media processed. Will check again in 1000ms 03:30:11.739 [debug] Current batch of media processed. Will check again in 1000ms 03:30:12.053 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nLighting 1000 tea candles inadvertently taught me why you should never give up.\n\nThis video tells the story of a video I made for a client 13 years ago. It involved lighting 1000 tea candles in the shape of the client's logo. Whilst it looked beautiful, the reality of producing this video saw 1000 candles converge causing a sudden combustion. The experience taught me a lot about why you should never give up.\n\nIn four years of publishing YouTube videos I managed to get 4000 subscribers. It had been a hard slog. At the end of 2024 I published a video about buying a boat and visiting the world's smallest island (check it out here! https://youtu.be/YAcozsVU2Dk). This video was watched by only 161 views. It was the worst performing video on my channel. Once again I was disheartened by how one of my videos had been received. The harsh reality was that people just did not want to watch my videos. After four years, I did wonder whether it was time to quit.\n\nBut I persevered. My next video but one I decided to try and provide a ton of information about how I have been able to banish my crippling internet addiction. To my surprise, the video (The only thing that stopped me from infinite scrolling: https://youtu.be/Sr9yRqOZMYU) took off and quickly surpassed half a million views. I equate the success of this video to all of the groundwork that I had been doing on my YouTube channel over the years by continuing to make videos.\n\nLike the candle experiment, it wasn't one candle that cause the combustion, but the collection of candles that had been laid next to each other. It was perhaps the most valuable lesson I have ever learnt about the importance of perseverance. \n\nI hope that this video can serve as a reminder as to why you should never give up.\n\nWhether you’re a photographer, a writer, a filmmaker, an artist, or simply somebody who is striving to achieve any kind of goal, think of each new piece of work, or each new repetition as lighting another candle. Above all, learn to love the process as this is the most important thing. If you want to shine brightly or have an explosive breakthrough, I say to you, keep lighting candles.", "duration" => 249, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e030600 - THIS is why you should NEVER give up.mp4", "id" => "zCl45WKbIhg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zCl45WKbIhg", "playlist_index" => 16, "timestamp" => 1741272306, "title" => "THIS is why you should NEVER give up", "upload_date" => "20250306"} 03:30:12.053 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:12.054 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:12.054 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 14:45:06Z], 38] 03:30:12.055 [debug] QUERY OK source="media_items" db=1.1ms idle=138.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nLighting 1000 tea candles inadvertently taught me why you should never give up.\n\nThis video tells the story of a video I made for a client 13 years ago. It involved lighting 1000 tea candles in the shape of the client's logo. Whilst it looked beautiful, the reality of producing this video saw 1000 candles converge causing a sudden combustion. The experience taught me a lot about why you should never give up.\n\nIn four years of publishing YouTube videos I managed to get 4000 subscribers. It had been a hard slog. At the end of 2024 I published a video about buying a boat and visiting the world's smallest island (check it out here! https://youtu.be/YAcozsVU2Dk). This video was watched by only 161 views. It was the worst performing video on my channel. Once again I was disheartened by how one of my videos had been received. The harsh reality was that people just did not want to watch my videos. After four years, I did wonder whether it was time to quit.\n\nBut I persevered. My next video but one I decided to try and provide a ton of information about how I have been able to banish my crippling internet addiction. To my surprise, the video (The only thing that stopped me from infinite scrolling: https://youtu.be/Sr9yRqOZMYU) took off and quickly surpassed half a million views. I equate the success of this video to all of the groundwork that I had been doing on my YouTube channel over the years by continuing to make videos.\n\nLike the candle experiment, it wasn't one candle that cause the combustion, but the collection of candles that had been laid next to each other. It was perhaps the most valuable lesson I have ever learnt about the importance of perseverance. \n\nI hope that this video can serve as a reminder as to why you should never give up.\n\nWhether you’re a photographer, a writer, a filmmaker, an artist, or simply somebody who is striving to achieve any kind of goal, think of each new piece of work, or each new repetition as lighting another candle. Above all, learn to love the process as this is the most important thing. If you want to shine brightly or have an explosive breakthrough, I say to you, keep lighting candles.", "THIS is why you should NEVER give up", "1c4387c1-d930-45a0-916c-7f025a707d31", false, 38, [], 249, false, "zCl45WKbIhg", "https://www.youtube.com/watch?v=zCl45WKbIhg", 16, "/downloads/SwiftFilms/Season 2025/s2025e030600 - THIS is why you should NEVER give up.mp4", false, false, 98, ~U[2025-03-06 14:45:06Z], ~U[2026-08-05 01:30:12Z], ~U[2026-08-05 01:30:12Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nLighting 1000 tea candles inadvertently taught me why you should never give up.\n\nThis video tells the story of a video I made for a client 13 years ago. It involved lighting 1000 tea candles in the shape of the client's logo. Whilst it looked beautiful, the reality of producing this video saw 1000 candles converge causing a sudden combustion. The experience taught me a lot about why you should never give up.\n\nIn four years of publishing YouTube videos I managed to get 4000 subscribers. It had been a hard slog. At the end of 2024 I published a video about buying a boat and visiting the world's smallest island (check it out here! https://youtu.be/YAcozsVU2Dk). This video was watched by only 161 views. It was the worst performing video on my channel. Once again I was disheartened by how one of my videos had been received. The harsh reality was that people just did not want to watch my videos. After four years, I did wonder whether it was time to quit.\n\nBut I persevered. My next video but one I decided to try and provide a ton of information about how I have been able to banish my crippling internet addiction. To my surprise, the video (The only thing that stopped me from infinite scrolling: https://youtu.be/Sr9yRqOZMYU) took off and quickly surpassed half a million views. I equate the success of this video to all of the groundwork that I had been doing on my YouTube channel over the years by continuing to make videos.\n\nLike the candle experiment, it wasn't one candle that cause the combustion, but the collection of candles that had been laid next to each other. It was perhaps the most valuable lesson I have ever learnt about the importance of perseverance. \n\nI hope that this video can serve as a reminder as to why you should never give up.\n\nWhether you’re a photographer, a writer, a filmmaker, an artist, or simply somebody who is striving to achieve any kind of goal, think of each new piece of work, or each new repetition as lighting another candle. Above all, learn to love the process as this is the most important thing. If you want to shine brightly or have an explosive breakthrough, I say to you, keep lighting candles.", "THIS is why you should NEVER give up", 38, 249, false, "zCl45WKbIhg", "https://www.youtube.com/watch?v=zCl45WKbIhg", "/downloads/SwiftFilms/Season 2025/s2025e030600 - THIS is why you should NEVER give up.mp4", false, ~U[2025-03-06 14:45:06Z]] 03:30:12.056 [debug] QUERY OK source="sources" db=0.1ms idle=134.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:12.056 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:12.056 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3322488] 03:30:12.056 [debug] Current batch of media processed. Will check again in 1000ms 03:30:12.740 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/Wlv760c or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Sliger CX4712: https://www.sliger.com/products/cx4712\n🛍️ Motherboard: https://ebay.us/yMC9hL\n🛍️ CPU: https://ebay.us/ZETy6O\n🛍️ CPU Cooler: https://amzn.to/4dIBtLV\n🛍️ 10G SFP+ NIC: https://amzn.to/4tA5vpY\n🛍️ 120 Fans: https://amzn.to/437yGpr\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n---------------------------------------------------\nTimestamps:\n0:00 Why I'm building a new NAS\n1:26 Which Chassis?\n1:54 Sliger CX4712\n3:35 Monarch Money (sponsor)\n5:01 Other Components\n7:17 Assembly\n9:46 Thoughts on the Sliger case\n10:35 Migrating over from my old NAS\n12:09 The end result", "duration" => 832, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e051600 - I Built The NAS I've Always Wanted.mp4", "id" => "AVLZOCW7v6Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AVLZOCW7v6Y", "playlist_index" => 9, "timestamp" => 1778946945, "title" => "I Built The NAS I've Always Wanted", "upload_date" => "20260516"} 03:30:12.740 [debug] QUERY OK source="sources" db=0.2ms idle=686.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:12.741 [debug] QUERY OK source="sources" db=0.1ms idle=685.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:12.741 [debug] QUERY OK source="media_items" db=0.3ms idle=685.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 15:55:45Z], 67] 03:30:12.742 [debug] QUERY OK source="media_items" db=0.8ms idle=685.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/Wlv760c or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Sliger CX4712: https://www.sliger.com/products/cx4712\n🛍️ Motherboard: https://ebay.us/yMC9hL\n🛍️ CPU: https://ebay.us/ZETy6O\n🛍️ CPU Cooler: https://amzn.to/4dIBtLV\n🛍️ 10G SFP+ NIC: https://amzn.to/4tA5vpY\n🛍️ 120 Fans: https://amzn.to/437yGpr\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n---------------------------------------------------\nTimestamps:\n0:00 Why I'm building a new NAS\n1:26 Which Chassis?\n1:54 Sliger CX4712\n3:35 Monarch Money (sponsor)\n5:01 Other Components\n7:17 Assembly\n9:46 Thoughts on the Sliger case\n10:35 Migrating over from my old NAS\n12:09 The end result", "I Built The NAS I've Always Wanted", "9b6d6c23-7203-42a8-a63c-0835d9fb72d1", false, 67, [], 832, false, "AVLZOCW7v6Y", "https://www.youtube.com/watch?v=AVLZOCW7v6Y", 9, "/downloads/Hardware Haven/Season 2026/s2026e051600 - I Built The NAS I've Always Wanted.mp4", false, false, 98, ~U[2026-05-16 15:55:45Z], ~U[2026-08-05 01:30:12Z], ~U[2026-08-05 01:30:12Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/Wlv760c or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Sliger CX4712: https://www.sliger.com/products/cx4712\n🛍️ Motherboard: https://ebay.us/yMC9hL\n🛍️ CPU: https://ebay.us/ZETy6O\n🛍️ CPU Cooler: https://amzn.to/4dIBtLV\n🛍️ 10G SFP+ NIC: https://amzn.to/4tA5vpY\n🛍️ 120 Fans: https://amzn.to/437yGpr\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n---------------------------------------------------\nTimestamps:\n0:00 Why I'm building a new NAS\n1:26 Which Chassis?\n1:54 Sliger CX4712\n3:35 Monarch Money (sponsor)\n5:01 Other Components\n7:17 Assembly\n9:46 Thoughts on the Sliger case\n10:35 Migrating over from my old NAS\n12:09 The end result", "I Built The NAS I've Always Wanted", 67, 832, false, "AVLZOCW7v6Y", "https://www.youtube.com/watch?v=AVLZOCW7v6Y", "/downloads/Hardware Haven/Season 2026/s2026e051600 - I Built The NAS I've Always Wanted.mp4", false, ~U[2026-05-16 15:55:45Z]] 03:30:12.743 [debug] QUERY OK source="sources" db=0.1ms idle=686.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:12.743 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:12.743 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4963882] 03:30:12.743 [debug] Current batch of media processed. Will check again in 1000ms 03:30:13.057 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThere are five things that I now do, simply by using a pen which have stopped me from infinite scrolling and banished my crippling internet and social media addiction. \n\nThere is also one thing I now do with a pen and paper that I credit with completely overhauling my diet and changing everything that I eat. I wanted to share all of this with you in the hope that you find it useful. \n\nIf you are interested in trying out any of the things I talk about in this video, then start small. If you start with habit tracking, don't try and track too many new habits as this will inevitably lead to failure. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you absolutely do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:00 The habit tracker and mood checker\n00:18 Notice the cues\n01:12 What gets measured gets managed\n01:38 Set up guide\n03:17 Don't break the chain\n04:29 Change what you eat\n06:21 Storyworthy\n07:29 As Many Wins As Possible\n08:37 3 key tasks\n09:46 Acknowledgements\n\nThank you for watching!", "duration" => 613, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e021400 - The only thing that stopped me from infinite scrolling.mp4", "id" => "Sr9yRqOZMYU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sr9yRqOZMYU", "playlist_index" => 17, "timestamp" => 1739544306, "title" => "The only thing that stopped me from infinite scrolling", "upload_date" => "20250214"} 03:30:13.057 [debug] QUERY OK source="sources" db=0.1ms idle=314.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:13.058 [debug] QUERY OK source="sources" db=0.0ms idle=314.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:13.058 [debug] QUERY OK source="media_items" db=0.2ms idle=314.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-14 14:45:06Z], 38] 03:30:13.059 [debug] QUERY OK source="media_items" db=0.7ms idle=141.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThere are five things that I now do, simply by using a pen which have stopped me from infinite scrolling and banished my crippling internet and social media addiction. \n\nThere is also one thing I now do with a pen and paper that I credit with completely overhauling my diet and changing everything that I eat. I wanted to share all of this with you in the hope that you find it useful. \n\nIf you are interested in trying out any of the things I talk about in this video, then start small. If you start with habit tracking, don't try and track too many new habits as this will inevitably lead to failure. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you absolutely do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:00 The habit tracker and mood checker\n00:18 Notice the cues\n01:12 What gets measured gets managed\n01:38 Set up guide\n03:17 Don't break the chain\n04:29 Change what you eat\n06:21 Storyworthy\n07:29 As Many Wins As Possible\n08:37 3 key tasks\n09:46 Acknowledgements\n\nThank you for watching!", "The only thing that stopped me from infinite scrolling", "a61f14e2-ce16-4ead-9662-32ab3e8b69fd", false, 38, [], 613, false, "Sr9yRqOZMYU", "https://www.youtube.com/watch?v=Sr9yRqOZMYU", 17, "/downloads/SwiftFilms/Season 2025/s2025e021400 - The only thing that stopped me from infinite scrolling.mp4", false, false, 98, ~U[2025-02-14 14:45:06Z], ~U[2026-08-05 01:30:13Z], ~U[2026-08-05 01:30:13Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThere are five things that I now do, simply by using a pen which have stopped me from infinite scrolling and banished my crippling internet and social media addiction. \n\nThere is also one thing I now do with a pen and paper that I credit with completely overhauling my diet and changing everything that I eat. I wanted to share all of this with you in the hope that you find it useful. \n\nIf you are interested in trying out any of the things I talk about in this video, then start small. If you start with habit tracking, don't try and track too many new habits as this will inevitably lead to failure. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you absolutely do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:00 The habit tracker and mood checker\n00:18 Notice the cues\n01:12 What gets measured gets managed\n01:38 Set up guide\n03:17 Don't break the chain\n04:29 Change what you eat\n06:21 Storyworthy\n07:29 As Many Wins As Possible\n08:37 3 key tasks\n09:46 Acknowledgements\n\nThank you for watching!", "The only thing that stopped me from infinite scrolling", 38, 613, false, "Sr9yRqOZMYU", "https://www.youtube.com/watch?v=Sr9yRqOZMYU", "/downloads/SwiftFilms/Season 2025/s2025e021400 - The only thing that stopped me from infinite scrolling.mp4", false, ~U[2025-02-14 14:45:06Z]] 03:30:13.059 [debug] QUERY OK source="sources" db=0.1ms idle=136.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:13.059 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:13.060 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3322489] 03:30:13.060 [debug] Current batch of media processed. Will check again in 1000ms 03:30:13.744 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ V100 SXM2 16G: https://ebay.us/Czmgxx\n🛍️ SXM2 PCIe Adapter (Amazon): https://amzn.to/3PgPOWu\n🛍️ Cheaper SXM2 Adapters on Ebay: https://ebay.us/3GoalM\n🛍️ 80mm Noctua Fan: https://amzn.to/3PaOcxz\n🛍️ Motherboard used for testing: https://amzn.to/4ndEBTd\n\n►Here's the fan shroud model, but seriously, it's not very good:\nhttps://www.printables.com/model/1707084-80mm-fan-shroud-for-nvidia-v100-sxm2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This is the strangest GPU you've ever seen\n0:56 What is SXM?\n2:35 PCIe Adapter\n3:15 Nvidia V100\n4:17 Building my GPU\n4:48 Private Internet Access (sponsor)\n5:49 Test system and booting it up\n6:23 Cooling solution\n8:11 Total cost breakdown\n9:08 Trying out Ollama\n10:11 RTX 3060 12G Comparison\n10:57 My rudimentary benchmark results\n13:12 Trying out Frigate NVR\n15:06 Future plans with this GPU\n15:40 Some other SXM adapters\n16:28 Trying to stay positive", "duration" => 1072, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e050300 - This Ridiculous $200 AI GPU Shouldn’t Be This Good.mp4", "id" => "7DAPd5MGodY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7DAPd5MGodY", "playlist_index" => 10, "timestamp" => 1777820371, "title" => "This Ridiculous $200 AI GPU Shouldn’t Be This Good", "upload_date" => "20260503"} 03:30:13.745 [debug] QUERY OK source="sources" db=0.2ms idle=686.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:13.745 [debug] QUERY OK source="sources" db=0.0ms idle=685.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:13.745 [debug] QUERY OK source="media_items" db=0.4ms idle=685.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 14:59:31Z], 67] 03:30:13.746 [debug] QUERY OK source="media_items" db=0.7ms idle=685.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ V100 SXM2 16G: https://ebay.us/Czmgxx\n🛍️ SXM2 PCIe Adapter (Amazon): https://amzn.to/3PgPOWu\n🛍️ Cheaper SXM2 Adapters on Ebay: https://ebay.us/3GoalM\n🛍️ 80mm Noctua Fan: https://amzn.to/3PaOcxz\n🛍️ Motherboard used for testing: https://amzn.to/4ndEBTd\n\n►Here's the fan shroud model, but seriously, it's not very good:\nhttps://www.printables.com/model/1707084-80mm-fan-shroud-for-nvidia-v100-sxm2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This is the strangest GPU you've ever seen\n0:56 What is SXM?\n2:35 PCIe Adapter\n3:15 Nvidia V100\n4:17 Building my GPU\n4:48 Private Internet Access (sponsor)\n5:49 Test system and booting it up\n6:23 Cooling solution\n8:11 Total cost breakdown\n9:08 Trying out Ollama\n10:11 RTX 3060 12G Comparison\n10:57 My rudimentary benchmark results\n13:12 Trying out Frigate NVR\n15:06 Future plans with this GPU\n15:40 Some other SXM adapters\n16:28 Trying to stay positive", "This Ridiculous $200 AI GPU Shouldn’t Be This Good", "7a362362-cbf0-4b67-b54f-28e0379dbd97", false, 67, [], 1072, false, "7DAPd5MGodY", "https://www.youtube.com/watch?v=7DAPd5MGodY", 10, "/downloads/Hardware Haven/Season 2026/s2026e050300 - This Ridiculous $200 AI GPU Shouldn’t Be This Good.mp4", false, false, 98, ~U[2026-05-03 14:59:31Z], ~U[2026-08-05 01:30:13Z], ~U[2026-08-05 01:30:13Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ V100 SXM2 16G: https://ebay.us/Czmgxx\n🛍️ SXM2 PCIe Adapter (Amazon): https://amzn.to/3PgPOWu\n🛍️ Cheaper SXM2 Adapters on Ebay: https://ebay.us/3GoalM\n🛍️ 80mm Noctua Fan: https://amzn.to/3PaOcxz\n🛍️ Motherboard used for testing: https://amzn.to/4ndEBTd\n\n►Here's the fan shroud model, but seriously, it's not very good:\nhttps://www.printables.com/model/1707084-80mm-fan-shroud-for-nvidia-v100-sxm2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This is the strangest GPU you've ever seen\n0:56 What is SXM?\n2:35 PCIe Adapter\n3:15 Nvidia V100\n4:17 Building my GPU\n4:48 Private Internet Access (sponsor)\n5:49 Test system and booting it up\n6:23 Cooling solution\n8:11 Total cost breakdown\n9:08 Trying out Ollama\n10:11 RTX 3060 12G Comparison\n10:57 My rudimentary benchmark results\n13:12 Trying out Frigate NVR\n15:06 Future plans with this GPU\n15:40 Some other SXM adapters\n16:28 Trying to stay positive", "This Ridiculous $200 AI GPU Shouldn’t Be This Good", 67, 1072, false, "7DAPd5MGodY", "https://www.youtube.com/watch?v=7DAPd5MGodY", "/downloads/Hardware Haven/Season 2026/s2026e050300 - This Ridiculous $200 AI GPU Shouldn’t Be This Good.mp4", false, ~U[2026-05-03 14:59:31Z]] 03:30:13.747 [debug] QUERY OK source="sources" db=0.1ms idle=686.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:13.747 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:13.747 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4917103] 03:30:13.747 [debug] Current batch of media processed. Will check again in 1000ms 03:30:14.061 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nHere's 35 things you can do right now to change your life.\n\nThese are all tiny habits that I have started doing over the years. When done frequently, they can have a huge impact on your life. \n\nI'm relatively new to journaling and writing down my thoughts every day. It felt odd to me at first. But trust the process. Journaling is a habit that will eventually reveal its reward.", "duration" => 176, "filename" => "/downloads/SwiftFilms/Season 2025/s2025e012100 - 35 things you can do right now to change your life.mp4", "id" => "LK4dHjCMrOo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LK4dHjCMrOo", "playlist_index" => 18, "timestamp" => 1737465461, "title" => "35 things you can do right now to change your life", "upload_date" => "20250121"} 03:30:14.061 [debug] QUERY OK source="sources" db=0.1ms idle=314.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:14.062 [debug] QUERY OK source="sources" db=0.0ms idle=314.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:14.062 [debug] QUERY OK source="media_items" db=0.2ms idle=314.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-21 13:17:41Z], 38] 03:30:14.072 [debug] QUERY OK source="media_items" db=10.0ms idle=144.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nHere's 35 things you can do right now to change your life.\n\nThese are all tiny habits that I have started doing over the years. When done frequently, they can have a huge impact on your life. \n\nI'm relatively new to journaling and writing down my thoughts every day. It felt odd to me at first. But trust the process. Journaling is a habit that will eventually reveal its reward.", "35 things you can do right now to change your life", "bd501557-220c-4c00-9ddf-5ec281daf03c", false, 38, [], 176, false, "LK4dHjCMrOo", "https://www.youtube.com/watch?v=LK4dHjCMrOo", 18, "/downloads/SwiftFilms/Season 2025/s2025e012100 - 35 things you can do right now to change your life.mp4", false, false, 98, ~U[2025-01-21 13:17:41Z], ~U[2026-08-05 01:30:14Z], ~U[2026-08-05 01:30:14Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nHere's 35 things you can do right now to change your life.\n\nThese are all tiny habits that I have started doing over the years. When done frequently, they can have a huge impact on your life. \n\nI'm relatively new to journaling and writing down my thoughts every day. It felt odd to me at first. But trust the process. Journaling is a habit that will eventually reveal its reward.", "35 things you can do right now to change your life", 38, 176, false, "LK4dHjCMrOo", "https://www.youtube.com/watch?v=LK4dHjCMrOo", "/downloads/SwiftFilms/Season 2025/s2025e012100 - 35 things you can do right now to change your life.mp4", false, ~U[2025-01-21 13:17:41Z]] 03:30:14.073 [debug] QUERY OK source="sources" db=0.2ms idle=149.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:14.073 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:14.073 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3322490] 03:30:14.073 [debug] Current batch of media processed. Will check again in 1000ms 03:30:14.748 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thanks as always!", "duration" => 634, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e042400 - Behind the Scenes - Lots and lots of projects!.NA", "id" => "sLcbCKTU5Ig", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sLcbCKTU5Ig", "playlist_index" => 11, "timestamp" => 1777058891, "title" => "Behind the Scenes - Lots and lots of projects!", "upload_date" => "20260424"} 03:30:14.748 [debug] QUERY OK source="sources" db=0.2ms idle=686.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:14.749 [debug] QUERY OK source="sources" db=0.0ms idle=676.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:14.749 [debug] QUERY OK source="media_items" db=0.4ms idle=676.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-24 19:28:11Z], 67] 03:30:14.752 [debug] QUERY OK source="media_items" db=2.1ms idle=676.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks as always!", "Behind the Scenes - Lots and lots of projects!", "41ec15c7-014a-47b5-a1a2-d28cbc8d471d", false, 67, [], 634, false, "sLcbCKTU5Ig", "https://www.youtube.com/watch?v=sLcbCKTU5Ig", 11, "/downloads/Hardware Haven/Season 2026/s2026e042400 - Behind the Scenes - Lots and lots of projects!.NA", false, false, 98, ~U[2026-04-24 19:28:11Z], ~U[2026-08-05 01:30:14Z], ~U[2026-08-05 01:30:14Z], "Thanks as always!", "Behind the Scenes - Lots and lots of projects!", 67, 634, false, "sLcbCKTU5Ig", "https://www.youtube.com/watch?v=sLcbCKTU5Ig", "/downloads/Hardware Haven/Season 2026/s2026e042400 - Behind the Scenes - Lots and lots of projects!.NA", false, ~U[2026-04-24 19:28:11Z]] 03:30:14.752 [debug] QUERY OK source="sources" db=0.1ms idle=678.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:14.752 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:14.753 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4896176] 03:30:14.753 [info] Kicking off download for media item #4896176 (sLcbCKTU5Ig) 03:30:14.754 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133809, 4896176, ~U[2026-08-05 01:30:14Z], ~U[2026-08-05 01:30:14Z]] 03:30:14.754 [debug] Current batch of media processed. Will check again in 1000ms 03:30:14.760 [info] {"args":{"id":4896176},"id":133809,"meta":{},"system_time":1785893414760842755,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:14.761 [debug] QUERY OK source="media_items" db=0.1ms idle=7.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4896176] 03:30:14.761 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:14.761 [debug] QUERY OK source="sources" db=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:14.761 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:14.762 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4896176] 03:30:14.771 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4896176] 03:30:14.771 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:14.772 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:14.772 [debug] QUERY OK source="settings" db=0.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:14.772 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:14.772 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:14.773 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:14.773 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:14.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sLcbCKTU5Ig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/f7/dbf7f19491b636b4715af239c2a65f5c5f3fbf5086ab066ced4d891045c026c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:15.074 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There is a magical and mystical island in Scotland. It’s in the middle of a loch. I have always been intrigued by this island because there appears to be a castle on it. Throughout my childhood I always wondered why.\n \nNow that I am fully grown adult, I can find out the answer for myself. Not by looking up the answer on the internet, but by purchasing a cheap inflatable boat and going out to visit the island for myself. \n\nThis video tells that story. It’s an excuse for me to answer one of the most pressing questions I had when I was a child - is this the world’s smallest island?\n \nFilmed at Loch Rannoch.", "duration" => 364, "filename" => "/downloads/SwiftFilms/Season 2024/s2024e112200 - I bought a boat to visit the world's smallest island.mp4", "id" => "YAcozsVU2Dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YAcozsVU2Dk", "playlist_index" => 19, "timestamp" => 1732297936, "title" => "I bought a boat to visit the world's smallest island", "upload_date" => "20241122"} 03:30:15.074 [debug] QUERY OK source="sources" db=0.1ms idle=301.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:15.075 [debug] QUERY OK source="sources" db=0.1ms idle=301.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.075 [debug] QUERY OK source="media_items" db=0.3ms idle=301.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 17:52:16Z], 38] 03:30:15.080 [debug] QUERY OK source="media_items" db=4.4ms idle=156.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["There is a magical and mystical island in Scotland. It’s in the middle of a loch. I have always been intrigued by this island because there appears to be a castle on it. Throughout my childhood I always wondered why.\n \nNow that I am fully grown adult, I can find out the answer for myself. Not by looking up the answer on the internet, but by purchasing a cheap inflatable boat and going out to visit the island for myself. \n\nThis video tells that story. It’s an excuse for me to answer one of the most pressing questions I had when I was a child - is this the world’s smallest island?\n \nFilmed at Loch Rannoch.", "I bought a boat to visit the world's smallest island", "74d0bd2a-bbbc-4a2b-bd3c-52a7fdbb13a5", false, 38, [], 364, false, "YAcozsVU2Dk", "https://www.youtube.com/watch?v=YAcozsVU2Dk", 19, "/downloads/SwiftFilms/Season 2024/s2024e112200 - I bought a boat to visit the world's smallest island.mp4", false, false, 98, ~U[2024-11-22 17:52:16Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "There is a magical and mystical island in Scotland. It’s in the middle of a loch. I have always been intrigued by this island because there appears to be a castle on it. Throughout my childhood I always wondered why.\n \nNow that I am fully grown adult, I can find out the answer for myself. Not by looking up the answer on the internet, but by purchasing a cheap inflatable boat and going out to visit the island for myself. \n\nThis video tells that story. It’s an excuse for me to answer one of the most pressing questions I had when I was a child - is this the world’s smallest island?\n \nFilmed at Loch Rannoch.", "I bought a boat to visit the world's smallest island", 38, 364, false, "YAcozsVU2Dk", "https://www.youtube.com/watch?v=YAcozsVU2Dk", "/downloads/SwiftFilms/Season 2024/s2024e112200 - I bought a boat to visit the world's smallest island.mp4", false, ~U[2024-11-22 17:52:16Z]] 03:30:15.080 [debug] QUERY OK source="sources" db=0.1ms idle=155.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.081 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:15.081 [debug] QUERY OK source="media_items" db=0.1ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3322491] 03:30:15.081 [debug] Current batch of media processed. Will check again in 1000ms 03:30:15.755 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nEdit: Thanks to all the responses! That \"mystery\" slot is definitely a compact flash slot, haha. This seems to be a case of overthinking things 🤦\u200D♂️\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Thanks to @jeffgeerling for the intro!\n Checkout his Pi NVR: https://www.youtube.com/watch?v=2LayXUxMjPU \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Razberi on eBay: https://ebay.us/t04Gs7\n🛍️ Patch Cables: https://amzn.to/4cy8fxJ\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n\"Town Groove\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 A Dumb Cold Open\n0:46 What I Actually Bought\n2:32 My VPN, PIA (sponsor)\n3:43 External IO and Tear-down\n5:41 First Boot\n6:49 Tear-down Cont.\n8:58 Quick Upgrades and Debian\n9:16 Networking\n11:04 Geekbench\n12:26 Power Draw, Temps, Fan Noise\n13:18 PCIe Slot and RAID\n15:28 NVR with Frigate\n18:28 Thoughts", "duration" => 1180, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e041800 - What the heck IS this thing?.mp4", "id" => "QC6A7xiBi3s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QC6A7xiBi3s", "playlist_index" => 12, "timestamp" => 1776526123, "title" => "What the heck IS this thing?", "upload_date" => "20260418"} 03:30:15.756 [debug] QUERY OK source="sources" db=0.3ms idle=680.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:15.756 [debug] QUERY OK source="sources" db=0.1ms idle=676.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:15.757 [debug] QUERY OK source="media_items" db=0.6ms idle=676.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 15:28:43Z], 67] 03:30:15.768 [debug] QUERY OK source="media_items" db=10.5ms idle=676.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nEdit: Thanks to all the responses! That \"mystery\" slot is definitely a compact flash slot, haha. This seems to be a case of overthinking things 🤦\u200D♂️\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Thanks to @jeffgeerling for the intro!\n Checkout his Pi NVR: https://www.youtube.com/watch?v=2LayXUxMjPU \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Razberi on eBay: https://ebay.us/t04Gs7\n🛍️ Patch Cables: https://amzn.to/4cy8fxJ\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n\"Town Groove\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 A Dumb Cold Open\n0:46 What I Actually Bought\n2:32 My VPN, PIA (sponsor)\n3:43 External IO and Tear-down\n5:41 First Boot\n6:49 Tear-down Cont.\n8:58 Quick Upgrades and Debian\n9:16 Networking\n11:04 Geekbench\n12:26 Power Draw, Temps, Fan Noise\n13:18 PCIe Slot and RAID\n15:28 NVR with Frigate\n18:28 Thoughts", "What the heck IS this thing?", "dce347ea-8169-4bd3-972d-6d7d404c564f", false, 67, [], 1180, false, "QC6A7xiBi3s", "https://www.youtube.com/watch?v=QC6A7xiBi3s", 12, "/downloads/Hardware Haven/Season 2026/s2026e041800 - What the heck IS this thing?.mp4", false, false, 98, ~U[2026-04-18 15:28:43Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nEdit: Thanks to all the responses! That \"mystery\" slot is definitely a compact flash slot, haha. This seems to be a case of overthinking things 🤦\u200D♂️\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Thanks to @jeffgeerling for the intro!\n Checkout his Pi NVR: https://www.youtube.com/watch?v=2LayXUxMjPU \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Razberi on eBay: https://ebay.us/t04Gs7\n🛍️ Patch Cables: https://amzn.to/4cy8fxJ\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n\"Town Groove\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 A Dumb Cold Open\n0:46 What I Actually Bought\n2:32 My VPN, PIA (sponsor)\n3:43 External IO and Tear-down\n5:41 First Boot\n6:49 Tear-down Cont.\n8:58 Quick Upgrades and Debian\n9:16 Networking\n11:04 Geekbench\n12:26 Power Draw, Temps, Fan Noise\n13:18 PCIe Slot and RAID\n15:28 NVR with Frigate\n18:28 Thoughts", "What the heck IS this thing?", 67, 1180, false, "QC6A7xiBi3s", "https://www.youtube.com/watch?v=QC6A7xiBi3s", "/downloads/Hardware Haven/Season 2026/s2026e041800 - What the heck IS this thing?.mp4", false, ~U[2026-04-18 15:28:43Z]] 03:30:15.768 [debug] QUERY OK source="sources" db=0.2ms idle=687.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:15.769 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:15.769 [debug] QUERY OK source="media_items" db=0.2ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4864258] 03:30:15.769 [debug] Current batch of media processed. Will check again in 1000ms 03:30:15.826 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@swiftfilmsuk --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/SwiftFilms/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7e/fa/7efaa11dd6d04a293578f3b134045a52f4aa30a2babce5057fb0af554b2059d0.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/61/ef/61efeccd5995516622053c62701a2e2ec7e6a472dc1b3fef4b86c443c153e0b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:30:15.827 [debug] Gracefully stopping file follower 03:30:15.827 [debug] QUERY OK source="sources" db=0.3ms idle=69.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 03:30:15.827 [debug] QUERY OK source="sources" db=0.1ms idle=59.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.828 [debug] QUERY OK source="media_items" db=0.3ms idle=58.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 15:45:06Z], 38] 03:30:15.829 [debug] QUERY OK source="media_items" db=0.8ms idle=59.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I went through 50 popular journaling routines and almost every one was built on the same five mistakes that I made.\n\nThese five mistakes make journaling feel clunky and awkward. They are the main reasons why people ultimately quit.\n\nIn this video, I show you what these five mistakes are, why they kill the journaling habit and how to fix each one. \n\nThe device I am using in this video for journaling and for organising my life is the reMarkable Paper Pro. I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nTime stamps:\n\n00:17 - Mistake 1\n01:50 - Mistake 2\n03:33 - Mistake 3\n05:17 - Mistake 4\n06:55 - Mistake 5", "I tested 50 journaling routines and found the SAME 5 mistakes", "69b901db-9609-4a16-b87b-b4267847ea3a", false, 38, [], 463, false, "Bo39tL9nO_0", "https://www.youtube.com/watch?v=Bo39tL9nO_0", 1, "/downloads/SwiftFilms/Season 2026/s2026e072400 - I tested 50 journaling routines and found the SAME 5 mistakes.mp4", false, false, 98, ~U[2026-07-24 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "I went through 50 popular journaling routines and almost every one was built on the same five mistakes that I made.\n\nThese five mistakes make journaling feel clunky and awkward. They are the main reasons why people ultimately quit.\n\nIn this video, I show you what these five mistakes are, why they kill the journaling habit and how to fix each one. \n\nThe device I am using in this video for journaling and for organising my life is the reMarkable Paper Pro. I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nTime stamps:\n\n00:17 - Mistake 1\n01:50 - Mistake 2\n03:33 - Mistake 3\n05:17 - Mistake 4\n06:55 - Mistake 5", "I tested 50 journaling routines and found the SAME 5 mistakes", 38, 463, false, "Bo39tL9nO_0", "https://www.youtube.com/watch?v=Bo39tL9nO_0", "/downloads/SwiftFilms/Season 2026/s2026e072400 - I tested 50 journaling routines and found the SAME 5 mistakes.mp4", false, ~U[2026-07-24 15:45:06Z]] 03:30:15.829 [debug] QUERY OK source="sources" db=0.2ms idle=59.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.830 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-19 16:00:30Z], 38] 03:30:15.831 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Here are 10 specific ideas I have stolen from books that have made me happier. Not richer, or more productive, but 10 ideas that are rooted in kindness and compassion to yourself and others. They might just change your life. They did with mine.\n\nRather than talking about whole books, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact on my happiness. \n\nTime stamps\n\n00:13 - Daily ish consistency - 'Meditations for Mortals' by Oliver Burkeman\n\n01:17 - Don’t fear ridicule, fear mediocrity- 'Make Brilliant Work' by Rod Judkins\n\n02:08 - Break your mirrors - 'Be Useful. Seven Tools for Life' by Arnold Schwarzenegger\n\n02:59 - 'Daily Rituals' by Mason Curry\n\n03:55 - Resistance is universal - 'The War of Art' by Steven Pressfield\n\n04:45 - Recycle your pain into passion - '12 Notes On Life and Creativity' by Quincy Jones\n\n05:30 - Self doubt never fully disappears - 'Sonny Boy' by Al Pacino\n\n06:19 - All art is a product of the artist’s influences - 'Steal Like An Artist' by Austin Kleon\n\n06:54 - Discover your life’s task - ‘Mastery' by Robert Greene\n\n07:29 - Believing is seeing - 'Beyond Belief' by Nir Eyal", "10 ideas from books that made me happier", "ddce5867-4641-4267-85e1-a5b99b33c237", false, 38, [], 495, false, "f-3LBMpeHFo", "https://www.youtube.com/watch?v=f-3LBMpeHFo", 2, "/downloads/SwiftFilms/Season 2026/s2026e061900 - 10 ideas from books that made me happier.mp4", false, false, 98, ~U[2026-06-19 16:00:30Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Here are 10 specific ideas I have stolen from books that have made me happier. Not richer, or more productive, but 10 ideas that are rooted in kindness and compassion to yourself and others. They might just change your life. They did with mine.\n\nRather than talking about whole books, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact on my happiness. \n\nTime stamps\n\n00:13 - Daily ish consistency - 'Meditations for Mortals' by Oliver Burkeman\n\n01:17 - Don’t fear ridicule, fear mediocrity- 'Make Brilliant Work' by Rod Judkins\n\n02:08 - Break your mirrors - 'Be Useful. Seven Tools for Life' by Arnold Schwarzenegger\n\n02:59 - 'Daily Rituals' by Mason Curry\n\n03:55 - Resistance is universal - 'The War of Art' by Steven Pressfield\n\n04:45 - Recycle your pain into passion - '12 Notes On Life and Creativity' by Quincy Jones\n\n05:30 - Self doubt never fully disappears - 'Sonny Boy' by Al Pacino\n\n06:19 - All art is a product of the artist’s influences - 'Steal Like An Artist' by Austin Kleon\n\n06:54 - Discover your life’s task - ‘Mastery' by Robert Greene\n\n07:29 - Believing is seeing - 'Beyond Belief' by Nir Eyal", "10 ideas from books that made me happier", 38, 495, false, "f-3LBMpeHFo", "https://www.youtube.com/watch?v=f-3LBMpeHFo", "/downloads/SwiftFilms/Season 2026/s2026e061900 - 10 ideas from books that made me happier.mp4", false, ~U[2026-06-19 16:00:30Z]] 03:30:15.831 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.831 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 09:00:39Z], 38] 03:30:15.833 [debug] QUERY OK source="media_items" db=1.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Evening or morning journaling? Offload your mental clutter before sleep or plot your intent before sunrise?\n \nJournaling at different times of the day can have a radically different effect on your mind and body, but which one which one actually changes your brain?. \n \nIn this video I will show you the 10 minute journaling routine I do every evening for better sleep and less anxiety and how I journal in the morning to improve my focus and capture ideas. \n \nAnd then I will show you why one of these journaling times is proven to be better for learning and long-term memory.\n\nReflective journaling in the evening has had a much bigger impact on my life than doing it first thing in the morning And I think the main reason for this is that Evening journaling is good for emotional regulation and better sleep. I am an over-thinker and I have never slept well. And it helps me a lot with both of these things. But the main benefits of journaling can be experienced whenever you do it. \nIt really it comes down to when is best for you to make it a consistent habit.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "The best time to journal", "527ccca6-17ab-427a-974c-e7774551405c", false, 38, [], 351, false, "61vXCfwkk4o", "https://www.youtube.com/watch?v=61vXCfwkk4o", 3, "/downloads/SwiftFilms/Season 2026/s2026e052400 - The best time to journal.mp4", false, false, 98, ~U[2026-05-24 09:00:39Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Evening or morning journaling? Offload your mental clutter before sleep or plot your intent before sunrise?\n \nJournaling at different times of the day can have a radically different effect on your mind and body, but which one which one actually changes your brain?. \n \nIn this video I will show you the 10 minute journaling routine I do every evening for better sleep and less anxiety and how I journal in the morning to improve my focus and capture ideas. \n \nAnd then I will show you why one of these journaling times is proven to be better for learning and long-term memory.\n\nReflective journaling in the evening has had a much bigger impact on my life than doing it first thing in the morning And I think the main reason for this is that Evening journaling is good for emotional regulation and better sleep. I am an over-thinker and I have never slept well. And it helps me a lot with both of these things. But the main benefits of journaling can be experienced whenever you do it. \nIt really it comes down to when is best for you to make it a consistent habit.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "The best time to journal", 38, 351, false, "61vXCfwkk4o", "https://www.youtube.com/watch?v=61vXCfwkk4o", "/downloads/SwiftFilms/Season 2026/s2026e052400 - The best time to journal.mp4", false, ~U[2026-05-24 09:00:39Z]] 03:30:15.833 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.834 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 15:45:04Z], 38] 03:30:15.835 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I spent years trying to do it all - get in better shape, eat more healthily, produce more content, make more money, all in the hope that I could be fitter, happier, more productive. I learnt the hard way that in order to achieve more, I need to do less. These are 10 habits, all rooted in mindfulness, that transformed my life.\n\nIf I was to choose only one of these ten habits that had the biggest impact, it would be reflective journaling. I do my various reflective journaling habits at the end of every day, after brushing my teeth and before going to sleep. It consists of three things – my habit tracker, my list of tiny wins and a sentence or two about the most memorable or amusing thing that happened that day. I like to do this at the end of the day whilst it is still fresh in my mind and the 5 or 10 minutes it takes me to do this is the best way for me to prepare for sleep. I also think that by focusing on the positives in my reflective journaling, it calms my nervous system which makes me sleep better, and I like to think this positivity ruminates in my subconscious mind as I’m sleeping.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "10 mindful habits that transformed my life", "4de4bb66-5fbe-4266-bb28-d96a61ccdd77", false, 38, [], 465, false, "Pxhyv6MyIM4", "https://www.youtube.com/watch?v=Pxhyv6MyIM4", 4, "/downloads/SwiftFilms/Season 2026/s2026e050700 - 10 mindful habits that transformed my life.mp4", false, false, 98, ~U[2026-05-07 15:45:04Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "I spent years trying to do it all - get in better shape, eat more healthily, produce more content, make more money, all in the hope that I could be fitter, happier, more productive. I learnt the hard way that in order to achieve more, I need to do less. These are 10 habits, all rooted in mindfulness, that transformed my life.\n\nIf I was to choose only one of these ten habits that had the biggest impact, it would be reflective journaling. I do my various reflective journaling habits at the end of every day, after brushing my teeth and before going to sleep. It consists of three things – my habit tracker, my list of tiny wins and a sentence or two about the most memorable or amusing thing that happened that day. I like to do this at the end of the day whilst it is still fresh in my mind and the 5 or 10 minutes it takes me to do this is the best way for me to prepare for sleep. I also think that by focusing on the positives in my reflective journaling, it calms my nervous system which makes me sleep better, and I like to think this positivity ruminates in my subconscious mind as I’m sleeping.\n\nThe device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn", "10 mindful habits that transformed my life", 38, 465, false, "Pxhyv6MyIM4", "https://www.youtube.com/watch?v=Pxhyv6MyIM4", "/downloads/SwiftFilms/Season 2026/s2026e050700 - 10 mindful habits that transformed my life.mp4", false, ~U[2026-05-07 15:45:04Z]] 03:30:15.835 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.835 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 15:45:06Z], 38] 03:30:15.836 [debug] QUERY OK source="media_items" db=0.7ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThis is a simple journaling exercise that I do every day, without fail. It takes me two minutes and I think it's the most underrated journaling exercise of all time.\n\nI went from pessimistic, unhealthy, borderline depressed to being eternally optimistic and consistent with this journaling exercise. I credit it with making me significantly happier. A bold claim. \n\nI challenge you to do this journaling exercise for the next 30 days and see the impact it has on your life. I would be very interested to hear how you get on, so please feel free to use the comments below to let me know.\n\nThank you for watching!", "The most underrated journaling exercise of all time", "1d618e68-fc12-476f-8c2c-d2969c792b54", false, 38, [], 292, false, "u47spAmAlx4", "https://www.youtube.com/watch?v=u47spAmAlx4", 5, "/downloads/SwiftFilms/Season 2026/s2026e041000 - The most underrated journaling exercise of all time.mp4", false, false, 98, ~U[2026-04-10 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThis is a simple journaling exercise that I do every day, without fail. It takes me two minutes and I think it's the most underrated journaling exercise of all time.\n\nI went from pessimistic, unhealthy, borderline depressed to being eternally optimistic and consistent with this journaling exercise. I credit it with making me significantly happier. A bold claim. \n\nI challenge you to do this journaling exercise for the next 30 days and see the impact it has on your life. I would be very interested to hear how you get on, so please feel free to use the comments below to let me know.\n\nThank you for watching!", "The most underrated journaling exercise of all time", 38, 292, false, "u47spAmAlx4", "https://www.youtube.com/watch?v=u47spAmAlx4", "/downloads/SwiftFilms/Season 2026/s2026e041000 - The most underrated journaling exercise of all time.mp4", false, ~U[2026-04-10 15:45:06Z]] 03:30:15.836 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.837 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-20 16:45:06Z], 38] 03:30:15.837 [debug] QUERY OK source="media_items" db=0.7ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["How to fix your awful attention span.\n\nThis video describes 35 things that I have implemented into my life to help fix my wavering focus and compromised attention span.\n\nMy attention span is something that I have always struggled with. Through a combination of experiments, research and trial and error, I have compiled together this list of things that helps me maintain focus.\n\nDon’t expect your broken attention span to be fixed as a consequence of watching one short video. Your focus and attention span needs to be developed like a muscle. It needs to be trained consistently, but it also needs rest.\n\nPerhaps the single most important thing that I did in order to fix my awful attention span was to stop so much consumption. I was guilty of always reading, watching or listening to something - filling every minute with constant stimulation. Whilst this made me feel like I was constantly learning and staying up to date with current affairs, the truth is I was over-stimulating my brain. This made it impossible for me to maintain focus. My attention span was broken.\n\nThe video is broken down into five short sections.\n\nTime stamps:\n\n00.00: Part 1 - Environment\n01.11: Part 2 - Train yourself for deep focus\n02.16: Part 3 - Strengthen your attention like a muscle\n03.25: Part 4 - Your biological foundation\n04.17: Part 5 - Reduce stimulation\n\nSign up to my emails on forming positive habits 👉 https://www.richn.co.uk", "Proven ways to fix your attention span", "22a643ac-7687-4970-8429-caf035e481cd", false, 38, [], 326, false, "d6VWMNL51c4", "https://www.youtube.com/watch?v=d6VWMNL51c4", 6, "/downloads/SwiftFilms/Season 2026/s2026e022000 - Proven ways to fix your attention span.mp4", false, false, 98, ~U[2026-02-20 16:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "How to fix your awful attention span.\n\nThis video describes 35 things that I have implemented into my life to help fix my wavering focus and compromised attention span.\n\nMy attention span is something that I have always struggled with. Through a combination of experiments, research and trial and error, I have compiled together this list of things that helps me maintain focus.\n\nDon’t expect your broken attention span to be fixed as a consequence of watching one short video. Your focus and attention span needs to be developed like a muscle. It needs to be trained consistently, but it also needs rest.\n\nPerhaps the single most important thing that I did in order to fix my awful attention span was to stop so much consumption. I was guilty of always reading, watching or listening to something - filling every minute with constant stimulation. Whilst this made me feel like I was constantly learning and staying up to date with current affairs, the truth is I was over-stimulating my brain. This made it impossible for me to maintain focus. My attention span was broken.\n\nThe video is broken down into five short sections.\n\nTime stamps:\n\n00.00: Part 1 - Environment\n01.11: Part 2 - Train yourself for deep focus\n02.16: Part 3 - Strengthen your attention like a muscle\n03.25: Part 4 - Your biological foundation\n04.17: Part 5 - Reduce stimulation\n\nSign up to my emails on forming positive habits 👉 https://www.richn.co.uk", "Proven ways to fix your attention span", 38, 326, false, "d6VWMNL51c4", "https://www.youtube.com/watch?v=d6VWMNL51c4", "/downloads/SwiftFilms/Season 2026/s2026e022000 - Proven ways to fix your attention span.mp4", false, ~U[2026-02-20 16:45:06Z]] 03:30:15.838 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.838 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 16:45:06Z], 38] 03:30:15.839 [debug] QUERY OK source="media_items" db=0.6ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Procrastination is not a moral failing. Despite what you tell yourself, you are not to blame. \n \nIn this video I will show you how to weaponise procrastination, to work with your brain and not fight it and also show you how to actually make procrastination your super power. \n\nIf you are like me then you probably care deeply, but struggle to manage the difficult emotions that arise when facing tasks. This makes procrastination a psychological hurdle not a moral failing.\n\nThis video outlines how I personally overcome this psychological hurdle. Whenever I now want to avoid doing something, I absolutely give myself permission to do so, but the only thing I allow myself to do instead, is pick up a pen. From there, I go wherever my mind wants to take me. \n\nThe way in which you can make procrastination a superpower is to also start by using a pen.", "Make procrastination your superpower (notebook method)", "2906ac33-2a5f-41ac-8b24-6290d90fa639", false, 38, [], 353, false, "a2drIkT74fo", "https://www.youtube.com/watch?v=a2drIkT74fo", 7, "/downloads/SwiftFilms/Season 2026/s2026e020500 - Make procrastination your superpower (notebook method).mp4", false, false, 98, ~U[2026-02-05 16:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Procrastination is not a moral failing. Despite what you tell yourself, you are not to blame. \n \nIn this video I will show you how to weaponise procrastination, to work with your brain and not fight it and also show you how to actually make procrastination your super power. \n\nIf you are like me then you probably care deeply, but struggle to manage the difficult emotions that arise when facing tasks. This makes procrastination a psychological hurdle not a moral failing.\n\nThis video outlines how I personally overcome this psychological hurdle. Whenever I now want to avoid doing something, I absolutely give myself permission to do so, but the only thing I allow myself to do instead, is pick up a pen. From there, I go wherever my mind wants to take me. \n\nThe way in which you can make procrastination a superpower is to also start by using a pen.", "Make procrastination your superpower (notebook method)", 38, 353, false, "a2drIkT74fo", "https://www.youtube.com/watch?v=a2drIkT74fo", "/downloads/SwiftFilms/Season 2026/s2026e020500 - Make procrastination your superpower (notebook method).mp4", false, ~U[2026-02-05 16:45:06Z]] 03:30:15.839 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.839 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 09:09:11Z], 38] 03:30:15.840 [debug] QUERY OK source="media_items" db=0.5ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up to my emails on forming positive habits 👉 https://www.richn.co.uk\n\nConsistency is key. We hear this time and again. But consistency is hard. And it's especially hard to be consistent when you turn up without fail, but struggle to see results.\n\nIn this video I share 9 ways to be extraordinarily consistent in whatever way is important to you. \n\nFor the purpose of this video, I use two examples of habits that I have managed to be consistent with - writing and running. But this process works for anything you want to be consistent with.\n\nTime stamps\n\n00.23 - Write down what you want to be consistent with and why\n\n01.09 - Set a clear and consistent goal\n\n01.37 - Start being consistent in a tiny way\n\n02.04 - Habit stack\n\n02.45 - Book it in the diary\n\n03.16 - Habit track\n\n03.55 - Make it easy\n\n04.17 - Make being consistent your identity\n\n04.48 - Make yourself accountable", "9 ways to be extraordinarily consistent", "0be7e1a1-4b9b-4360-8781-d44e92d065de", false, 38, [], 368, false, "2D8UJ-WIBQE", "https://www.youtube.com/watch?v=2D8UJ-WIBQE", 8, "/downloads/SwiftFilms/Season 2025/s2025e122300 - 9 ways to be extraordinarily consistent.mp4", false, false, 98, ~U[2025-12-23 09:09:11Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Sign up to my emails on forming positive habits 👉 https://www.richn.co.uk\n\nConsistency is key. We hear this time and again. But consistency is hard. And it's especially hard to be consistent when you turn up without fail, but struggle to see results.\n\nIn this video I share 9 ways to be extraordinarily consistent in whatever way is important to you. \n\nFor the purpose of this video, I use two examples of habits that I have managed to be consistent with - writing and running. But this process works for anything you want to be consistent with.\n\nTime stamps\n\n00.23 - Write down what you want to be consistent with and why\n\n01.09 - Set a clear and consistent goal\n\n01.37 - Start being consistent in a tiny way\n\n02.04 - Habit stack\n\n02.45 - Book it in the diary\n\n03.16 - Habit track\n\n03.55 - Make it easy\n\n04.17 - Make being consistent your identity\n\n04.48 - Make yourself accountable", "9 ways to be extraordinarily consistent", 38, 368, false, "2D8UJ-WIBQE", "https://www.youtube.com/watch?v=2D8UJ-WIBQE", "/downloads/SwiftFilms/Season 2025/s2025e122300 - 9 ways to be extraordinarily consistent.mp4", false, ~U[2025-12-23 09:09:11Z]] 03:30:15.840 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.841 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 16:45:06Z], 38] 03:30:15.842 [debug] QUERY OK source="media_items" db=0.8ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I am 46 years old. Here are 40 harsh truths I have learned in life that I wish I had known in my 20s.\n\nOutline:\n\n00:12 - Nobody cares what you do\n00:25 - Don't wait\n00:36 - Walk in nature and a good nights sleep will solve most of your problems\n00:46 - Life is short\n00:55 - Be different\n01:09 - A little bit of flattery goes a long way\n01:23 - Make yourself technical as well as creative\n01:38 - Make yourself memorable \n01:55 - Everything you do is marketing\n02:11 - Choose your habits and your vices carefully\n02:25 - Build a body of your own work\n02:41 - Your phone is not your friend \n03:04 - Airplane mode is most productive tool on your phone\n03:08 - Time is more important than money\n03:15 - Your health is your most valuable currency\n03:26 - Learn to rest before you crash\n03:38 - Don't work too hard\n03:48 - No one is coming to save you\n04:00 - Rock bottom can be the foundation from which you build your life\n04:12 - Your diet consists of everything you put into your body\n04:19 - Your life partner determines your level of peace, wealth and happiness\n04:25 - Look out for kindness\n04:32 - Be kind to everyone you meet\n04:38 - A marathon will teach you everything you need to know about yourself\n04:50 - Take risks\n04:56 - Make decisions quickly\n05:03 - Consistency is key\n05:19 - Focus on what you can control\n05:29 - Don't believe everything you think\n05:33 - Journaling can improve your physical and emotional health\n05:44 - You can control how you react\n05:49 - Motivation comes from taking action\n05:56 - You don't know how strong you are\n06:00 - You can start again at any age\n06:05 - Sleep is a super power\n06:08 - Read widely\n06:13 - Start with the most important task\n06:17 - Always appreciate those who show up\n06:26 - A pen can change your life", "40 Harsh Truths I wish I Knew in My 20s", "22dd3404-8819-493a-bf4b-416ad7205cce", false, 38, [], 411, false, "QB6AvcB7Ecc", "https://www.youtube.com/watch?v=QB6AvcB7Ecc", 9, "/downloads/SwiftFilms/Season 2025/s2025e103000 - 40 Harsh Truths I wish I Knew in My 20s.mp4", false, false, 98, ~U[2025-10-30 16:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "I am 46 years old. Here are 40 harsh truths I have learned in life that I wish I had known in my 20s.\n\nOutline:\n\n00:12 - Nobody cares what you do\n00:25 - Don't wait\n00:36 - Walk in nature and a good nights sleep will solve most of your problems\n00:46 - Life is short\n00:55 - Be different\n01:09 - A little bit of flattery goes a long way\n01:23 - Make yourself technical as well as creative\n01:38 - Make yourself memorable \n01:55 - Everything you do is marketing\n02:11 - Choose your habits and your vices carefully\n02:25 - Build a body of your own work\n02:41 - Your phone is not your friend \n03:04 - Airplane mode is most productive tool on your phone\n03:08 - Time is more important than money\n03:15 - Your health is your most valuable currency\n03:26 - Learn to rest before you crash\n03:38 - Don't work too hard\n03:48 - No one is coming to save you\n04:00 - Rock bottom can be the foundation from which you build your life\n04:12 - Your diet consists of everything you put into your body\n04:19 - Your life partner determines your level of peace, wealth and happiness\n04:25 - Look out for kindness\n04:32 - Be kind to everyone you meet\n04:38 - A marathon will teach you everything you need to know about yourself\n04:50 - Take risks\n04:56 - Make decisions quickly\n05:03 - Consistency is key\n05:19 - Focus on what you can control\n05:29 - Don't believe everything you think\n05:33 - Journaling can improve your physical and emotional health\n05:44 - You can control how you react\n05:49 - Motivation comes from taking action\n05:56 - You don't know how strong you are\n06:00 - You can start again at any age\n06:05 - Sleep is a super power\n06:08 - Read widely\n06:13 - Start with the most important task\n06:17 - Always appreciate those who show up\n06:26 - A pen can change your life", "40 Harsh Truths I wish I Knew in My 20s", 38, 411, false, "QB6AvcB7Ecc", "https://www.youtube.com/watch?v=QB6AvcB7Ecc", "/downloads/SwiftFilms/Season 2025/s2025e103000 - 40 Harsh Truths I wish I Knew in My 20s.mp4", false, ~U[2025-10-30 16:45:06Z]] 03:30:15.842 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.842 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-10 15:45:06Z], 38] 03:30:15.843 [debug] QUERY OK source="media_items" db=0.7ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Here are ten specific ideas that I have stolen from books I have read.\n \nThese are things I have gone on to buy, disciplines I have instilled, habits I have nurtured and ways of thinking that have completely changed my life.\n \nRather than talking about whole books that have changed my life, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact.\n \nI love the fact that a book, which can be bought at minimal cost, contains ideas within it that can have wide-reaching impact.\n \nThe books which have impacted my life most greatly tend to be ones where I have quickly latched onto an idea or concept and implemented it into my own daily life straight away. These books then remain fresh in my mind.\n \nThe ideas in this video come from a variety of different books, but a lot of them are based around creativity, writing and habit formation. The need to stay consistent is a common theme within these books. \n \nTime stamps\n \n00:12 - Change your environment for success – ‘The Creative Habit’ by Twyla Tharp\n \n01:10 - The analogue table – ‘Steal like an artist’ by Austin Kleon\n \n02:03 - Writing Rituals – ‘On Writing’ by Stephen King\n \n02:49 - Never have a bad day again – ‘My Next Breath’ by Jeremy Renner\n \n03:43 - When I do X I will do Y – ‘Tiny Habits’ by BJ Fogg\n \n04:24 – Small wins matter – ‘The Power of Habit’ by Charles Duhigg\n \n05:03 – Pebbles – ‘Good Days, An A-Z of Hope and Happiness’ by Michael Rosen\n \n05:51 – The personal book – ‘The Compound Effect’ by Darren Hardy\n \n06:26 – Notice the cues – ‘Indistractable’ by Nir Eyal\n \n07:09 – You’re not too busy, you’re distracted – ‘Someday is Today’ by Matthew Dicks", "10 ideas I've stolen from books that have changed my life", "19decc61-08cd-4e1f-a4ce-fec3dd4d40dc", false, 38, [], 491, false, "dXH5xv01fsk", "https://www.youtube.com/watch?v=dXH5xv01fsk", 10, "/downloads/SwiftFilms/Season 2025/s2025e101000 - 10 ideas I've stolen from books that have changed my life.mp4", false, false, 98, ~U[2025-10-10 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Here are ten specific ideas that I have stolen from books I have read.\n \nThese are things I have gone on to buy, disciplines I have instilled, habits I have nurtured and ways of thinking that have completely changed my life.\n \nRather than talking about whole books that have changed my life, this video looks at very specific ideas within certain books that I have implemented into my own life and which have had a profound impact.\n \nI love the fact that a book, which can be bought at minimal cost, contains ideas within it that can have wide-reaching impact.\n \nThe books which have impacted my life most greatly tend to be ones where I have quickly latched onto an idea or concept and implemented it into my own daily life straight away. These books then remain fresh in my mind.\n \nThe ideas in this video come from a variety of different books, but a lot of them are based around creativity, writing and habit formation. The need to stay consistent is a common theme within these books. \n \nTime stamps\n \n00:12 - Change your environment for success – ‘The Creative Habit’ by Twyla Tharp\n \n01:10 - The analogue table – ‘Steal like an artist’ by Austin Kleon\n \n02:03 - Writing Rituals – ‘On Writing’ by Stephen King\n \n02:49 - Never have a bad day again – ‘My Next Breath’ by Jeremy Renner\n \n03:43 - When I do X I will do Y – ‘Tiny Habits’ by BJ Fogg\n \n04:24 – Small wins matter – ‘The Power of Habit’ by Charles Duhigg\n \n05:03 – Pebbles – ‘Good Days, An A-Z of Hope and Happiness’ by Michael Rosen\n \n05:51 – The personal book – ‘The Compound Effect’ by Darren Hardy\n \n06:26 – Notice the cues – ‘Indistractable’ by Nir Eyal\n \n07:09 – You’re not too busy, you’re distracted – ‘Someday is Today’ by Matthew Dicks", "10 ideas I've stolen from books that have changed my life", 38, 491, false, "dXH5xv01fsk", "https://www.youtube.com/watch?v=dXH5xv01fsk", "/downloads/SwiftFilms/Season 2025/s2025e101000 - 10 ideas I've stolen from books that have changed my life.mp4", false, ~U[2025-10-10 15:45:06Z]] 03:30:15.843 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.844 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-30 15:45:06Z], 38] 03:30:15.845 [debug] QUERY OK source="media_items" db=0.6ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I have had this feeling this year, more than ever before, that time is moving faster and faster. Because of this, I am determined not to waste it. \n\nThe one thing I have found to be an unacceptable waste of my time is my crippling phone addiction and mindless scrolling of the internet.\n\nSo, I came up with an idea that I tried for 30 days. Every hour that I was awake, I set an alarm to go off. There were two aims to this. Firstly, I wanted to become more aware of time passing. I wanted to acknowledge when another hour of my life had passed in the hope that by bringing more awareness to this, it could make it feel like time was not passing by so quickly. \n\nAnd secondly - more importantly - I wanted to use these hourly alarms as a reminder to not waste my time. When the alarm went off, I asked myself the question, 'Am I being intentional with my time?', that is to say, am I doing what I should be doing or what I want to be doing, or am I just wasting time? \n\nThis video documents my 30 day journey and I have to say that I was massively surprised by the outcome. \n\nThank you for watching!", "Is this the cure for mindless scrolling?", "e700e802-4223-4cd4-adcc-f65cf3406e8f", false, 38, [], 438, false, "7JmiZ3o5AjQ", "https://www.youtube.com/watch?v=7JmiZ3o5AjQ", 11, "/downloads/SwiftFilms/Season 2025/s2025e093000 - Is this the cure for mindless scrolling?.mp4", false, false, 98, ~U[2025-09-30 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "I have had this feeling this year, more than ever before, that time is moving faster and faster. Because of this, I am determined not to waste it. \n\nThe one thing I have found to be an unacceptable waste of my time is my crippling phone addiction and mindless scrolling of the internet.\n\nSo, I came up with an idea that I tried for 30 days. Every hour that I was awake, I set an alarm to go off. There were two aims to this. Firstly, I wanted to become more aware of time passing. I wanted to acknowledge when another hour of my life had passed in the hope that by bringing more awareness to this, it could make it feel like time was not passing by so quickly. \n\nAnd secondly - more importantly - I wanted to use these hourly alarms as a reminder to not waste my time. When the alarm went off, I asked myself the question, 'Am I being intentional with my time?', that is to say, am I doing what I should be doing or what I want to be doing, or am I just wasting time? \n\nThis video documents my 30 day journey and I have to say that I was massively surprised by the outcome. \n\nThank you for watching!", "Is this the cure for mindless scrolling?", 38, 438, false, "7JmiZ3o5AjQ", "https://www.youtube.com/watch?v=7JmiZ3o5AjQ", "/downloads/SwiftFilms/Season 2025/s2025e093000 - Is this the cure for mindless scrolling?.mp4", false, ~U[2025-09-30 15:45:06Z]] 03:30:15.845 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.845 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 15:45:06Z], 38] 03:30:15.846 [debug] QUERY OK source="media_items" db=0.7ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nA pen is the only tool you need to change your life. In this video, I will show you 10 ways in which you can do this and also convince you that you can change any relationship with it.\n\nThis video features two unique writing exercises that I learned from Quentin Tarantino and Chris Martin - exercises which they credit with changing and transforming their lives.\n\nIf you are interested in trying out any of the things I talk about in this video, then start small. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these writing exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:10 - The \"Detest Fest\"\n00:59 - Free-form writing\n01:46 - The splurge list\n02:14 - The Done List\n02:50 - The handwritten word \n03:47 - Thoughts and ideas\n04:08 - Document your life\n05:01 - Food diary\n05:24 - 3 key tasks\n06:00 - Habit tracking\n\nThank you for watching!", "10 ways to change your life with just a pen", "21c08cf8-391c-42dc-9fad-2e342b1ab20c", false, 38, [], 429, false, "5nFqB177xUg", "https://www.youtube.com/watch?v=5nFqB177xUg", 12, "/downloads/SwiftFilms/Season 2025/s2025e083000 - 10 ways to change your life with just a pen.mp4", false, false, 98, ~U[2025-08-30 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nA pen is the only tool you need to change your life. In this video, I will show you 10 ways in which you can do this and also convince you that you can change any relationship with it.\n\nThis video features two unique writing exercises that I learned from Quentin Tarantino and Chris Martin - exercises which they credit with changing and transforming their lives.\n\nIf you are interested in trying out any of the things I talk about in this video, then start small. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these writing exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:10 - The \"Detest Fest\"\n00:59 - Free-form writing\n01:46 - The splurge list\n02:14 - The Done List\n02:50 - The handwritten word \n03:47 - Thoughts and ideas\n04:08 - Document your life\n05:01 - Food diary\n05:24 - 3 key tasks\n06:00 - Habit tracking\n\nThank you for watching!", "10 ways to change your life with just a pen", 38, 429, false, "5nFqB177xUg", "https://www.youtube.com/watch?v=5nFqB177xUg", "/downloads/SwiftFilms/Season 2025/s2025e083000 - 10 ways to change your life with just a pen.mp4", false, ~U[2025-08-30 15:45:06Z]] 03:30:15.846 [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" = ?) [38] 03:30:15.847 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-13 15:45:06Z], 38] 03:30:15.848 [debug] QUERY OK source="media_items" db=0.6ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["You have everything you need to document your life, but these five tips will make a really profound difference. Not only to your own life, but those closest to you as well. \n\nThere are a handful of simple things that I do to document my life as well as the lives of those closest to me. It is one of the most valuable things that I have ever done. \n\nDocumenting the mundane things I do from day to day can seem dull, but this becomes more valuable with the passing of time. This video shares a handful of simple ideas to document your own life, from the power of writing a few sentences, to taking photographs and shooting one second of video each day. \n\nAs with any new habit, this requires patience and consistency. But persevere with it and it is hugely rewarding.\n\nOutline:\n\n00.08 Write it down\n01.02 Document your family\n02.24 One second of video per day\n03.29 Print photos\n04.13 Document don’t create\n\nThank you for watching!", "5 tips to document your life in a meaningful way", "d4e1c219-f1f5-4345-b6b9-5264aae548c3", false, 38, [], 350, false, "0Ul9_4HqbNg", "https://www.youtube.com/watch?v=0Ul9_4HqbNg", 13, "/downloads/SwiftFilms/Season 2025/s2025e081300 - 5 tips to document your life in a meaningful way.mp4", false, false, 98, ~U[2025-08-13 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "You have everything you need to document your life, but these five tips will make a really profound difference. Not only to your own life, but those closest to you as well. \n\nThere are a handful of simple things that I do to document my life as well as the lives of those closest to me. It is one of the most valuable things that I have ever done. \n\nDocumenting the mundane things I do from day to day can seem dull, but this becomes more valuable with the passing of time. This video shares a handful of simple ideas to document your own life, from the power of writing a few sentences, to taking photographs and shooting one second of video each day. \n\nAs with any new habit, this requires patience and consistency. But persevere with it and it is hugely rewarding.\n\nOutline:\n\n00.08 Write it down\n01.02 Document your family\n02.24 One second of video per day\n03.29 Print photos\n04.13 Document don’t create\n\nThank you for watching!", "5 tips to document your life in a meaningful way", 38, 350, false, "0Ul9_4HqbNg", "https://www.youtube.com/watch?v=0Ul9_4HqbNg", "/downloads/SwiftFilms/Season 2025/s2025e081300 - 5 tips to document your life in a meaningful way.mp4", false, ~U[2025-08-13 15:45:06Z]] 03:30:15.848 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.848 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 15:45:06Z], 38] 03:30:15.849 [debug] QUERY OK source="media_items" db=0.7ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nThis video is only two and a half minutes long. That's 150 seconds. It's not long, but here is a list of 30 things that you could have done instead of watch this video that would have been a better use of your time.\n\nOutline:\n\n1) Tidy your desk.\n2) Write down all of your frustrations onto the page. Then destroy it.\n3) Write that tricky email.\n4) You can walk nearly 300 steps in 2 and a half minutes.\n5) Shred some old papers.\n6) Declutter a drawer.\n7) Beat your child at Connect 4.\n8) Empty the washing machine.\n9) Observe the natural world around you.\n10) Spend some time with cats.\n11) Learn a phrase in a foreign language.\n12) Plank.\n13) Press ups.\n14) Squats.\n15) Juggle.\n16) Write a letter or card to an old friend.\n17) Water some plants.\n18) Immerse yourself in cold water.\n19) Read a page or two of a book.\n20) Listen to some music, but give it your full attention.\n21) Make a green smoothie.\n22) Unsubscribe from emails you no longer read.\n23) Pour yourself a big glass of water.\n24) Read to someone younger than you.\n25) Make a list of everything you need to remember.\n26) Do some mobility exercises.\n27) Make some coffee.\n28) Close your eyes and breathe.\n29) Take an extended toilet break.\n30) Make s start on your big goal.", "30 reasons NOT to watch this video", "4229eea8-c6a4-4ff6-8b1d-ab0d4010c355", false, 38, [], 150, false, "X-GrR_KHTX4", "https://www.youtube.com/watch?v=X-GrR_KHTX4", 14, "/downloads/SwiftFilms/Season 2025/s2025e071600 - 30 reasons NOT to watch this video.mp4", false, false, 98, ~U[2025-07-16 15:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nThis video is only two and a half minutes long. That's 150 seconds. It's not long, but here is a list of 30 things that you could have done instead of watch this video that would have been a better use of your time.\n\nOutline:\n\n1) Tidy your desk.\n2) Write down all of your frustrations onto the page. Then destroy it.\n3) Write that tricky email.\n4) You can walk nearly 300 steps in 2 and a half minutes.\n5) Shred some old papers.\n6) Declutter a drawer.\n7) Beat your child at Connect 4.\n8) Empty the washing machine.\n9) Observe the natural world around you.\n10) Spend some time with cats.\n11) Learn a phrase in a foreign language.\n12) Plank.\n13) Press ups.\n14) Squats.\n15) Juggle.\n16) Write a letter or card to an old friend.\n17) Water some plants.\n18) Immerse yourself in cold water.\n19) Read a page or two of a book.\n20) Listen to some music, but give it your full attention.\n21) Make a green smoothie.\n22) Unsubscribe from emails you no longer read.\n23) Pour yourself a big glass of water.\n24) Read to someone younger than you.\n25) Make a list of everything you need to remember.\n26) Do some mobility exercises.\n27) Make some coffee.\n28) Close your eyes and breathe.\n29) Take an extended toilet break.\n30) Make s start on your big goal.", "30 reasons NOT to watch this video", 38, 150, false, "X-GrR_KHTX4", "https://www.youtube.com/watch?v=X-GrR_KHTX4", "/downloads/SwiftFilms/Season 2025/s2025e071600 - 30 reasons NOT to watch this video.mp4", false, ~U[2025-07-16 15:45:06Z]] 03:30:15.850 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.850 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 15:45:00Z], 38] 03:30:15.851 [debug] QUERY OK source="media_items" db=0.7ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["For so many years, I hated my phone! In this video, I share the experimental idea that I started doing nearly two years ago that has finally stopped the urge to keep checking my phone and reduced my screen time by nearly 70%.\n\nMy phone addiction had been cultivated over many years. It wasn’t as simple as deciding that I wanted to use my phone less. I had to introduce strict measures to make this happen and then persevere over a period of time. In the video, I talk about the three step process that I used to make this happen. \n\nIf you want to try and restrict your phone use or try any of the things I mention in this video, my advice is to take really small steps. Identify a one hour window in your day where your phone use is at its worst, or where using it makes you feel most unhappy. Consciously decide not to use your phone during this period. And then build it up from there. \n\nIf you launch straight into not using your phone for 16 hours a day, you will most likely fail. Pay attention to your behaviour. Notice your cues. Restrict your phone use slowly. I guarantee that if you can get into the habit of not using your phone for a 16 hour window every day, your life will change so much for the better. \n\n\nOutline:\n\n00:00 Why I hate my phone\n00:12 The day I decided to change my phone use habit\n00:53 Notice the internal and external triggers\n01:42 The 16-8 idea\n02:22 Step 1 – The timer lock-box\n03:48 Step 2 – Brick\n05:15 Step 3 – elastic band and downtime\n06:03 Replacing one habit with another\n07:33 How to curb your phone use\n\nThank you for watching!", "How I reduced my screen time by 67% (guide)", "a01b9c76-f2fd-4777-a60b-dc1da2912a80", false, 38, [], 478, false, "D3vHfjiTUKw", "https://www.youtube.com/watch?v=D3vHfjiTUKw", 15, "/downloads/SwiftFilms/Season 2025/s2025e041400 - How I reduced my screen time by 67% (guide).mp4", false, false, 98, ~U[2025-04-14 15:45:00Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "For so many years, I hated my phone! In this video, I share the experimental idea that I started doing nearly two years ago that has finally stopped the urge to keep checking my phone and reduced my screen time by nearly 70%.\n\nMy phone addiction had been cultivated over many years. It wasn’t as simple as deciding that I wanted to use my phone less. I had to introduce strict measures to make this happen and then persevere over a period of time. In the video, I talk about the three step process that I used to make this happen. \n\nIf you want to try and restrict your phone use or try any of the things I mention in this video, my advice is to take really small steps. Identify a one hour window in your day where your phone use is at its worst, or where using it makes you feel most unhappy. Consciously decide not to use your phone during this period. And then build it up from there. \n\nIf you launch straight into not using your phone for 16 hours a day, you will most likely fail. Pay attention to your behaviour. Notice your cues. Restrict your phone use slowly. I guarantee that if you can get into the habit of not using your phone for a 16 hour window every day, your life will change so much for the better. \n\n\nOutline:\n\n00:00 Why I hate my phone\n00:12 The day I decided to change my phone use habit\n00:53 Notice the internal and external triggers\n01:42 The 16-8 idea\n02:22 Step 1 – The timer lock-box\n03:48 Step 2 – Brick\n05:15 Step 3 – elastic band and downtime\n06:03 Replacing one habit with another\n07:33 How to curb your phone use\n\nThank you for watching!", "How I reduced my screen time by 67% (guide)", 38, 478, false, "D3vHfjiTUKw", "https://www.youtube.com/watch?v=D3vHfjiTUKw", "/downloads/SwiftFilms/Season 2025/s2025e041400 - How I reduced my screen time by 67% (guide).mp4", false, ~U[2025-04-14 15:45:00Z]] 03:30:15.851 [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" = ?) [38] 03:30:15.851 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 14:45:06Z], 38] 03:30:15.852 [debug] QUERY OK source="media_items" db=0.8ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nLighting 1000 tea candles inadvertently taught me why you should never give up.\n\nThis video tells the story of a video I made for a client 13 years ago. It involved lighting 1000 tea candles in the shape of the client's logo. Whilst it looked beautiful, the reality of producing this video saw 1000 candles converge causing a sudden combustion. The experience taught me a lot about why you should never give up.\n\nIn four years of publishing YouTube videos I managed to get 4000 subscribers. It had been a hard slog. At the end of 2024 I published a video about buying a boat and visiting the world's smallest island (check it out here! https://youtu.be/YAcozsVU2Dk). This video was watched by only 161 views. It was the worst performing video on my channel. Once again I was disheartened by how one of my videos had been received. The harsh reality was that people just did not want to watch my videos. After four years, I did wonder whether it was time to quit.\n\nBut I persevered. My next video but one I decided to try and provide a ton of information about how I have been able to banish my crippling internet addiction. To my surprise, the video (The only thing that stopped me from infinite scrolling: https://youtu.be/Sr9yRqOZMYU) took off and quickly surpassed half a million views. I equate the success of this video to all of the groundwork that I had been doing on my YouTube channel over the years by continuing to make videos.\n\nLike the candle experiment, it wasn't one candle that cause the combustion, but the collection of candles that had been laid next to each other. It was perhaps the most valuable lesson I have ever learnt about the importance of perseverance. \n\nI hope that this video can serve as a reminder as to why you should never give up.\n\nWhether you’re a photographer, a writer, a filmmaker, an artist, or simply somebody who is striving to achieve any kind of goal, think of each new piece of work, or each new repetition as lighting another candle. Above all, learn to love the process as this is the most important thing. If you want to shine brightly or have an explosive breakthrough, I say to you, keep lighting candles.", "THIS is why you should NEVER give up", "315e441b-5a00-42a0-8d1a-5ad41bdd71a2", false, 38, [], 249, false, "zCl45WKbIhg", "https://www.youtube.com/watch?v=zCl45WKbIhg", 16, "/downloads/SwiftFilms/Season 2025/s2025e030600 - THIS is why you should NEVER give up.mp4", false, false, 98, ~U[2025-03-06 14:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nLighting 1000 tea candles inadvertently taught me why you should never give up.\n\nThis video tells the story of a video I made for a client 13 years ago. It involved lighting 1000 tea candles in the shape of the client's logo. Whilst it looked beautiful, the reality of producing this video saw 1000 candles converge causing a sudden combustion. The experience taught me a lot about why you should never give up.\n\nIn four years of publishing YouTube videos I managed to get 4000 subscribers. It had been a hard slog. At the end of 2024 I published a video about buying a boat and visiting the world's smallest island (check it out here! https://youtu.be/YAcozsVU2Dk). This video was watched by only 161 views. It was the worst performing video on my channel. Once again I was disheartened by how one of my videos had been received. The harsh reality was that people just did not want to watch my videos. After four years, I did wonder whether it was time to quit.\n\nBut I persevered. My next video but one I decided to try and provide a ton of information about how I have been able to banish my crippling internet addiction. To my surprise, the video (The only thing that stopped me from infinite scrolling: https://youtu.be/Sr9yRqOZMYU) took off and quickly surpassed half a million views. I equate the success of this video to all of the groundwork that I had been doing on my YouTube channel over the years by continuing to make videos.\n\nLike the candle experiment, it wasn't one candle that cause the combustion, but the collection of candles that had been laid next to each other. It was perhaps the most valuable lesson I have ever learnt about the importance of perseverance. \n\nI hope that this video can serve as a reminder as to why you should never give up.\n\nWhether you’re a photographer, a writer, a filmmaker, an artist, or simply somebody who is striving to achieve any kind of goal, think of each new piece of work, or each new repetition as lighting another candle. Above all, learn to love the process as this is the most important thing. If you want to shine brightly or have an explosive breakthrough, I say to you, keep lighting candles.", "THIS is why you should NEVER give up", 38, 249, false, "zCl45WKbIhg", "https://www.youtube.com/watch?v=zCl45WKbIhg", "/downloads/SwiftFilms/Season 2025/s2025e030600 - THIS is why you should NEVER give up.mp4", false, ~U[2025-03-06 14:45:06Z]] 03:30:15.853 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.853 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-14 14:45:06Z], 38] 03:30:15.854 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThere are five things that I now do, simply by using a pen which have stopped me from infinite scrolling and banished my crippling internet and social media addiction. \n\nThere is also one thing I now do with a pen and paper that I credit with completely overhauling my diet and changing everything that I eat. I wanted to share all of this with you in the hope that you find it useful. \n\nIf you are interested in trying out any of the things I talk about in this video, then start small. If you start with habit tracking, don't try and track too many new habits as this will inevitably lead to failure. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you absolutely do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:00 The habit tracker and mood checker\n00:18 Notice the cues\n01:12 What gets measured gets managed\n01:38 Set up guide\n03:17 Don't break the chain\n04:29 Change what you eat\n06:21 Storyworthy\n07:29 As Many Wins As Possible\n08:37 3 key tasks\n09:46 Acknowledgements\n\nThank you for watching!", "The only thing that stopped me from infinite scrolling", "f5bb92b0-6be6-4308-be38-9d78ca26efdd", false, 38, [], 613, false, "Sr9yRqOZMYU", "https://www.youtube.com/watch?v=Sr9yRqOZMYU", 17, "/downloads/SwiftFilms/Season 2025/s2025e021400 - The only thing that stopped me from infinite scrolling.mp4", false, false, 98, ~U[2025-02-14 14:45:06Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "The device I am using in this video is the reMarkable Paper Pro. I swear by this device and I have been using a reMarkable tablet for over five years. If you're interested in getting one and buy it through the link below, I earn a commission at no extra cost to you:\n\nhttps://remarkable.pxf.io/o4Kgzn\n\nThere are five things that I now do, simply by using a pen which have stopped me from infinite scrolling and banished my crippling internet and social media addiction. \n\nThere is also one thing I now do with a pen and paper that I credit with completely overhauling my diet and changing everything that I eat. I wanted to share all of this with you in the hope that you find it useful. \n\nIf you are interested in trying out any of the things I talk about in this video, then start small. If you start with habit tracking, don't try and track too many new habits as this will inevitably lead to failure. As with anything new, try and develop the habit in a very small way and nurture it from there.\n\nI started doing all of these exercises using pen and paper, but I now use the Remarkable Paper Pro. This tool has really helped organise all of my documents, ideas and journaling. However, you absolutely do not need this to do any of the things I talk about in this video.\n\nOutline:\n\n00:00 The habit tracker and mood checker\n00:18 Notice the cues\n01:12 What gets measured gets managed\n01:38 Set up guide\n03:17 Don't break the chain\n04:29 Change what you eat\n06:21 Storyworthy\n07:29 As Many Wins As Possible\n08:37 3 key tasks\n09:46 Acknowledgements\n\nThank you for watching!", "The only thing that stopped me from infinite scrolling", 38, 613, false, "Sr9yRqOZMYU", "https://www.youtube.com/watch?v=Sr9yRqOZMYU", "/downloads/SwiftFilms/Season 2025/s2025e021400 - The only thing that stopped me from infinite scrolling.mp4", false, ~U[2025-02-14 14:45:06Z]] 03:30:15.854 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.854 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-21 13:17:41Z], 38] 03:30:15.855 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nHere's 35 things you can do right now to change your life.\n\nThese are all tiny habits that I have started doing over the years. When done frequently, they can have a huge impact on your life. \n\nI'm relatively new to journaling and writing down my thoughts every day. It felt odd to me at first. But trust the process. Journaling is a habit that will eventually reveal its reward.", "35 things you can do right now to change your life", "e0b207fa-1dc3-40e9-ab43-fa8241d14b82", false, 38, [], 176, false, "LK4dHjCMrOo", "https://www.youtube.com/watch?v=LK4dHjCMrOo", 18, "/downloads/SwiftFilms/Season 2025/s2025e012100 - 35 things you can do right now to change your life.mp4", false, false, 98, ~U[2025-01-21 13:17:41Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "Sign up for my fortnightly one-minute emails on forming positive habits 👉 https://www.richn.co.uk\n\nHere's 35 things you can do right now to change your life.\n\nThese are all tiny habits that I have started doing over the years. When done frequently, they can have a huge impact on your life. \n\nI'm relatively new to journaling and writing down my thoughts every day. It felt odd to me at first. But trust the process. Journaling is a habit that will eventually reveal its reward.", "35 things you can do right now to change your life", 38, 176, false, "LK4dHjCMrOo", "https://www.youtube.com/watch?v=LK4dHjCMrOo", "/downloads/SwiftFilms/Season 2025/s2025e012100 - 35 things you can do right now to change your life.mp4", false, ~U[2025-01-21 13:17:41Z]] 03:30:15.855 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.856 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 17:52:16Z], 38] 03:30:15.858 [debug] QUERY OK source="media_items" db=1.9ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["There is a magical and mystical island in Scotland. It’s in the middle of a loch. I have always been intrigued by this island because there appears to be a castle on it. Throughout my childhood I always wondered why.\n \nNow that I am fully grown adult, I can find out the answer for myself. Not by looking up the answer on the internet, but by purchasing a cheap inflatable boat and going out to visit the island for myself. \n\nThis video tells that story. It’s an excuse for me to answer one of the most pressing questions I had when I was a child - is this the world’s smallest island?\n \nFilmed at Loch Rannoch.", "I bought a boat to visit the world's smallest island", "540dbb6f-39e7-4d6a-83ac-fccdbf24c026", false, 38, [], 364, false, "YAcozsVU2Dk", "https://www.youtube.com/watch?v=YAcozsVU2Dk", 19, "/downloads/SwiftFilms/Season 2024/s2024e112200 - I bought a boat to visit the world's smallest island.mp4", false, false, 98, ~U[2024-11-22 17:52:16Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "There is a magical and mystical island in Scotland. It’s in the middle of a loch. I have always been intrigued by this island because there appears to be a castle on it. Throughout my childhood I always wondered why.\n \nNow that I am fully grown adult, I can find out the answer for myself. Not by looking up the answer on the internet, but by purchasing a cheap inflatable boat and going out to visit the island for myself. \n\nThis video tells that story. It’s an excuse for me to answer one of the most pressing questions I had when I was a child - is this the world’s smallest island?\n \nFilmed at Loch Rannoch.", "I bought a boat to visit the world's smallest island", 38, 364, false, "YAcozsVU2Dk", "https://www.youtube.com/watch?v=YAcozsVU2Dk", "/downloads/SwiftFilms/Season 2024/s2024e112200 - I bought a boat to visit the world's smallest island.mp4", false, ~U[2024-11-22 17:52:16Z]] 03:30:15.858 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.858 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-11 13:21:26Z], 38] 03:30:15.859 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My nine year old son Jack came home from school recently and told me that he had been too afraid to give a presentation to all of his classmates. This inspired me to make this video.\n\nI wanted to tell Jack about the greatest lesson that I had learnt in life and how I had discovered this. I found this out for myself when I was 10 years old and I was learning to dive. \n\nThe idea of diving fascinated me. I had seen the diving boards at my local swimming pool and the thought of voluntarily leaping from the top board head first was both exhilarating and terrifying. The problem was that I wasn’t good with heights. \n\nThis video outlines my childhood experience of learning to dive and how I overcame my fear of the dreaded 10 metre diving board. It was the most valuable and formative lesson that I ever learned.\n\nHuge thanks to Manchester Aquatic Centre for giving me permission to make this film!", "The greatest lesson you will learn in life", "ebc7177b-1bf6-4011-89a5-a197de7c1971", false, 38, [], 162, false, "nqYiBa8nAwM", "https://www.youtube.com/watch?v=nqYiBa8nAwM", 20, "/downloads/SwiftFilms/Season 2024/s2024e101100 - The greatest lesson you will learn in life.mp4", false, false, 98, ~U[2024-10-11 13:21:26Z], ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], "My nine year old son Jack came home from school recently and told me that he had been too afraid to give a presentation to all of his classmates. This inspired me to make this video.\n\nI wanted to tell Jack about the greatest lesson that I had learnt in life and how I had discovered this. I found this out for myself when I was 10 years old and I was learning to dive. \n\nThe idea of diving fascinated me. I had seen the diving boards at my local swimming pool and the thought of voluntarily leaping from the top board head first was both exhilarating and terrifying. The problem was that I wasn’t good with heights. \n\nThis video outlines my childhood experience of learning to dive and how I overcame my fear of the dreaded 10 metre diving board. It was the most valuable and formative lesson that I ever learned.\n\nHuge thanks to Manchester Aquatic Centre for giving me permission to make this film!", "The greatest lesson you will learn in life", 38, 162, false, "nqYiBa8nAwM", "https://www.youtube.com/watch?v=nqYiBa8nAwM", "/downloads/SwiftFilms/Season 2024/s2024e101100 - The greatest lesson you will learn in life.mp4", false, ~U[2024-10-11 13:21:26Z]] 03:30:15.859 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z], 38] 03:30:15.860 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [38] 03:30:15.861 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133810, 5210527, ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z]] 03:30:15.862 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [38] 03:30:15.862 [debug] QUERY OK source="media_items" db=0.1ms idle=1.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [38] 03:30:15.863 [debug] QUERY OK source="tasks" db=0.1ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133811, 38, ~U[2026-08-05 01:30:15Z], ~U[2026-08-05 01:30:15Z]] 03:30:15.863 [info] {"args":{"id":38},"id":133307,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":27970381,"event":"job:stop","queue_time":389382,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:30:15.867 [info] {"args":{"id":5210527},"id":133810,"meta":{},"system_time":1785893415867726946,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:15.868 [debug] QUERY OK source="media_items" db=0.1ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5210527] 03:30:15.868 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:15.868 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 03:30:15.868 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:15.868 [debug] QUERY OK source="media_items" db=0.1ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210527] 03:30:15.871 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5210527] 03:30:15.871 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:15.871 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:15.871 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:15.871 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:15.872 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:15.872 [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 [] 03:30:15.872 [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 [] 03:30:15.872 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Bo39tL9nO_0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/de/94def06ced1943c66cdd4d401eecb054d0adf9fc7d27fca49e5343c28125f73f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:16.713 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sLcbCKTU5Ig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/f7/dbf7f19491b636b4715af239c2a65f5c5f3fbf5086ab066ced4d891045c026c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:16.713 [error] yt-dlp download error for media item #4896176: "WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:16.713 [error] yt-dlp download will not be retried: "WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:16.713 [info] {"args":{"id":4896176},"id":133809,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1952668,"event":"job:stop","queue_time":760360,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:16.770 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \nModels and Resources: \n- Drive Bay 3D Model: https://www.printables.com/model/1290788-10-inch-rack-1u-2-x-35-inch-hdd-hot-swap\n- KVM and Keystone Mount: https://www.printables.com/model/1179328-jetkvm-10-inch-rack-mount-with-keystone-slots\n- Lab Rax 120mm Fan Side Panel: https://www.printables.com/model/1663721-lab-rax-120mm-fan-side-panel\n- Drive Bay Cover: https://www.printables.com/model/1663733-cover-for-2x-10-inch-rack-1u\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ X11SSV-Q: https://ebay.us/ihAyPy\n🛍️ Thermalright Cooler: https://amzn.to/3NUhksl\n🛍️ 2.5G PCIe Adapter: https://amzn.to/3OfPCGB\n🛍️ 350W 19V PSU: https://amzn.to/41Lgh0W\n🛍️ Slim 120mm Fans: https://amzn.to/4ckUV0B\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mm\n🛍️ Yellow LED Power Button: https://amzn.to/48xFtvI\n🛍️ JetKVM: https://www.wisdpi.com/products/jetkvm\n🛍️ CAT6 Patch Cables: https://amzn.to/3NGvbT6\n🛍️ USB-C Keystone: https://amzn.to/481loxV\n\nMy 3D Printers: \n🛍️ Bambu Lab A1Mini: https://tidd.ly/4tsoljd\n🛍️ Bambu Lab X1CC: https://tidd.ly/4sRm94H\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Fender Bender\" - @badsnacks\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My Little Backup Server\n0:41 Why did I make this?\n1:55 The plan\n4:07 Designing parts with Onshape (Sponsor)\n5:34 PC Hardware\n8:03 3D Printed Parts\n10:23 Testing the system (attempt 1)\n11:16 Testing the system (attempt 2)\n11:35 Assembling everything\n13:55 Software Config\n19:28 Thoughts", "duration" => 1299, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e040400 - I back up EVERYTHING to this..mp4", "id" => "IN9jr1VbwZM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IN9jr1VbwZM", "playlist_index" => 13, "timestamp" => 1775316602, "title" => "I back up EVERYTHING to this.", "upload_date" => "20260404"} 03:30:16.771 [debug] QUERY OK source="sources" db=0.2ms idle=898.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:16.771 [debug] QUERY OK source="sources" db=0.1ms idle=898.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:16.772 [debug] QUERY OK source="media_items" db=0.7ms idle=851.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 15:30:02Z], 67] 03:30:16.783 [debug] QUERY OK source="media_items" db=10.6ms idle=58.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \nModels and Resources: \n- Drive Bay 3D Model: https://www.printables.com/model/1290788-10-inch-rack-1u-2-x-35-inch-hdd-hot-swap\n- KVM and Keystone Mount: https://www.printables.com/model/1179328-jetkvm-10-inch-rack-mount-with-keystone-slots\n- Lab Rax 120mm Fan Side Panel: https://www.printables.com/model/1663721-lab-rax-120mm-fan-side-panel\n- Drive Bay Cover: https://www.printables.com/model/1663733-cover-for-2x-10-inch-rack-1u\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ X11SSV-Q: https://ebay.us/ihAyPy\n🛍️ Thermalright Cooler: https://amzn.to/3NUhksl\n🛍️ 2.5G PCIe Adapter: https://amzn.to/3OfPCGB\n🛍️ 350W 19V PSU: https://amzn.to/41Lgh0W\n🛍️ Slim 120mm Fans: https://amzn.to/4ckUV0B\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mm\n🛍️ Yellow LED Power Button: https://amzn.to/48xFtvI\n🛍️ JetKVM: https://www.wisdpi.com/products/jetkvm\n🛍️ CAT6 Patch Cables: https://amzn.to/3NGvbT6\n🛍️ USB-C Keystone: https://amzn.to/481loxV\n\nMy 3D Printers: \n🛍️ Bambu Lab A1Mini: https://tidd.ly/4tsoljd\n🛍️ Bambu Lab X1CC: https://tidd.ly/4sRm94H\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Fender Bender\" - @badsnacks\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My Little Backup Server\n0:41 Why did I make this?\n1:55 The plan\n4:07 Designing parts with Onshape (Sponsor)\n5:34 PC Hardware\n8:03 3D Printed Parts\n10:23 Testing the system (attempt 1)\n11:16 Testing the system (attempt 2)\n11:35 Assembling everything\n13:55 Software Config\n19:28 Thoughts", "I back up EVERYTHING to this.", "b0fbe66b-10cf-41cc-afd1-0f43412c8aab", false, 67, [], 1299, false, "IN9jr1VbwZM", "https://www.youtube.com/watch?v=IN9jr1VbwZM", 13, "/downloads/Hardware Haven/Season 2026/s2026e040400 - I back up EVERYTHING to this..mp4", false, false, 98, ~U[2026-04-04 15:30:02Z], ~U[2026-08-05 01:30:16Z], ~U[2026-08-05 01:30:16Z], "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \nModels and Resources: \n- Drive Bay 3D Model: https://www.printables.com/model/1290788-10-inch-rack-1u-2-x-35-inch-hdd-hot-swap\n- KVM and Keystone Mount: https://www.printables.com/model/1179328-jetkvm-10-inch-rack-mount-with-keystone-slots\n- Lab Rax 120mm Fan Side Panel: https://www.printables.com/model/1663721-lab-rax-120mm-fan-side-panel\n- Drive Bay Cover: https://www.printables.com/model/1663733-cover-for-2x-10-inch-rack-1u\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ X11SSV-Q: https://ebay.us/ihAyPy\n🛍️ Thermalright Cooler: https://amzn.to/3NUhksl\n🛍️ 2.5G PCIe Adapter: https://amzn.to/3OfPCGB\n🛍️ 350W 19V PSU: https://amzn.to/41Lgh0W\n🛍️ Slim 120mm Fans: https://amzn.to/4ckUV0B\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mm\n🛍️ Yellow LED Power Button: https://amzn.to/48xFtvI\n🛍️ JetKVM: https://www.wisdpi.com/products/jetkvm\n🛍️ CAT6 Patch Cables: https://amzn.to/3NGvbT6\n🛍️ USB-C Keystone: https://amzn.to/481loxV\n\nMy 3D Printers: \n🛍️ Bambu Lab A1Mini: https://tidd.ly/4tsoljd\n🛍️ Bambu Lab X1CC: https://tidd.ly/4sRm94H\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Fender Bender\" - @badsnacks\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My Little Backup Server\n0:41 Why did I make this?\n1:55 The plan\n4:07 Designing parts with Onshape (Sponsor)\n5:34 PC Hardware\n8:03 3D Printed Parts\n10:23 Testing the system (attempt 1)\n11:16 Testing the system (attempt 2)\n11:35 Assembling everything\n13:55 Software Config\n19:28 Thoughts", "I back up EVERYTHING to this.", 67, 1299, false, "IN9jr1VbwZM", "https://www.youtube.com/watch?v=IN9jr1VbwZM", "/downloads/Hardware Haven/Season 2026/s2026e040400 - I back up EVERYTHING to this..mp4", false, ~U[2026-04-04 15:30:02Z]] 03:30:16.784 [debug] QUERY OK source="sources" db=0.2ms idle=63.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:16.784 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:16.784 [debug] QUERY OK source="media_items" db=0.2ms idle=13.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4814837] 03:30:16.784 [debug] Current batch of media processed. Will check again in 1000ms 03:30:16.816 [info] {"source":"oban","duration":2648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:17.780 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Bo39tL9nO_0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/de/94def06ced1943c66cdd4d401eecb054d0adf9fc7d27fca49e5343c28125f73f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:17.780 [error] yt-dlp download error for media item #5210527: "WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:17.780 [error] yt-dlp download will not be retried: "WARNING: [youtube] Bo39tL9nO_0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] Bo39tL9nO_0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:17.780 [info] {"args":{"id":5210527},"id":133810,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1912750,"event":"job:stop","queue_time":867300,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:17.785 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/DvtN7fc or code hh50.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Waterhose to HDMI model: https://www.printables.com/model/88128-garden-hose-to-hdmi-adapter\n\n► Archived copy of the Marsis E1 Driver (Thanks to Dave): https://web.archive.org/web/20260323010918/https://sealevel.info/Marsis_M2_Type_E_Windows_Driver.zip\n\n► Learn More About 8311: https://pon.wiki\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ M.2 10G: https://amzn.to/4srleba\n🛍️ SATA Power Selector: https://amzn.to/40HmNpd\n🛍️ NVMe Swap: https://amzn.to/4uJBA0k\n🛍️ M.2 E HDMI Capture: https://marsis.tv/products/marsis-e1-full-hd-m-2-capture-card?srsltid=AfmBOordlnzLa41vW6LXlAWY78292aUyYYmQfI55htoSecW3jWk1GSAy\n🛍️ M.2 E SSD: https://amzn.to/47HTvKU\n🛍️ XGSPON: https://amzn.to/4sltk4V\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 More Goofy Adapters\n0:52 Adapter 1\n2:42 Adapter 2\n3:22 Monarch Money (Sponsor)\n5:10 Adapter 3\n7:03 Honorable Mention - NVMe Hot Swap\n8:07 Adapter 4\n11:27 Adapter 5 ...sort of\n13:24 Adapter 6\n17:13 I NEED MORE", "duration" => 1074, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e032200 - I Just Can’t Stop Buying These Adapters.mp4", "id" => "G7ru4h4Zi-w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G7ru4h4Zi-w", "playlist_index" => 14, "timestamp" => 1774193395, "title" => "I Just Can’t Stop Buying These Adapters", "upload_date" => "20260322"} 03:30:17.785 [debug] QUERY OK source="sources" db=0.2ms idle=1000.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:17.786 [debug] QUERY OK source="sources" db=0.4ms idle=970.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:17.787 [debug] QUERY OK source="media_items" db=0.5ms idle=859.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 15:29:55Z], 67] 03:30:17.813 [debug] QUERY OK source="media_items" db=26.0ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/DvtN7fc or code hh50.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Waterhose to HDMI model: https://www.printables.com/model/88128-garden-hose-to-hdmi-adapter\n\n► Archived copy of the Marsis E1 Driver (Thanks to Dave): https://web.archive.org/web/20260323010918/https://sealevel.info/Marsis_M2_Type_E_Windows_Driver.zip\n\n► Learn More About 8311: https://pon.wiki\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ M.2 10G: https://amzn.to/4srleba\n🛍️ SATA Power Selector: https://amzn.to/40HmNpd\n🛍️ NVMe Swap: https://amzn.to/4uJBA0k\n🛍️ M.2 E HDMI Capture: https://marsis.tv/products/marsis-e1-full-hd-m-2-capture-card?srsltid=AfmBOordlnzLa41vW6LXlAWY78292aUyYYmQfI55htoSecW3jWk1GSAy\n🛍️ M.2 E SSD: https://amzn.to/47HTvKU\n🛍️ XGSPON: https://amzn.to/4sltk4V\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 More Goofy Adapters\n0:52 Adapter 1\n2:42 Adapter 2\n3:22 Monarch Money (Sponsor)\n5:10 Adapter 3\n7:03 Honorable Mention - NVMe Hot Swap\n8:07 Adapter 4\n11:27 Adapter 5 ...sort of\n13:24 Adapter 6\n17:13 I NEED MORE", "I Just Can’t Stop Buying These Adapters", "85e63278-b2fc-425d-a115-6ce0cc395ce8", false, 67, [], 1074, false, "G7ru4h4Zi-w", "https://www.youtube.com/watch?v=G7ru4h4Zi-w", 14, "/downloads/Hardware Haven/Season 2026/s2026e032200 - I Just Can’t Stop Buying These Adapters.mp4", false, false, 98, ~U[2026-03-22 15:29:55Z], ~U[2026-08-05 01:30:17Z], ~U[2026-08-05 01:30:17Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/DvtN7fc or code hh50.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Waterhose to HDMI model: https://www.printables.com/model/88128-garden-hose-to-hdmi-adapter\n\n► Archived copy of the Marsis E1 Driver (Thanks to Dave): https://web.archive.org/web/20260323010918/https://sealevel.info/Marsis_M2_Type_E_Windows_Driver.zip\n\n► Learn More About 8311: https://pon.wiki\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ M.2 10G: https://amzn.to/4srleba\n🛍️ SATA Power Selector: https://amzn.to/40HmNpd\n🛍️ NVMe Swap: https://amzn.to/4uJBA0k\n🛍️ M.2 E HDMI Capture: https://marsis.tv/products/marsis-e1-full-hd-m-2-capture-card?srsltid=AfmBOordlnzLa41vW6LXlAWY78292aUyYYmQfI55htoSecW3jWk1GSAy\n🛍️ M.2 E SSD: https://amzn.to/47HTvKU\n🛍️ XGSPON: https://amzn.to/4sltk4V\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 More Goofy Adapters\n0:52 Adapter 1\n2:42 Adapter 2\n3:22 Monarch Money (Sponsor)\n5:10 Adapter 3\n7:03 Honorable Mention - NVMe Hot Swap\n8:07 Adapter 4\n11:27 Adapter 5 ...sort of\n13:24 Adapter 6\n17:13 I NEED MORE", "I Just Can’t Stop Buying These Adapters", 67, 1074, false, "G7ru4h4Zi-w", "https://www.youtube.com/watch?v=G7ru4h4Zi-w", "/downloads/Hardware Haven/Season 2026/s2026e032200 - I Just Can’t Stop Buying These Adapters.mp4", false, ~U[2026-03-22 15:29:55Z]] 03:30:17.813 [debug] QUERY OK source="sources" db=0.1ms idle=27.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:17.814 [debug] QUERY OK source="media_profiles" db=0.1ms idle=27.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:17.814 [debug] QUERY OK source="media_items" db=0.2ms idle=27.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4769152] 03:30:17.814 [debug] Current batch of media processed. Will check again in 1000ms 03:30:18.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code HARDWAREHAVENFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/3ZgtL3D!\n\n_Sorry for the poor audio quality at times. I'm still getting used to some new workflows._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Useful Links: \n- Frigate Docs: https://docs.frigate.video/ \n- Compiling Coral Driver: https://www.reddit.com/r/frigate_nvr/comments/1km57vu/coral_tpu_installation_for_ubuntu_2504/\n_*NOTE: when following these instructions for Debian 13, ignore the `MODULE_IMPORT_NS(DMA_BUF)` step.*_\n- Reolink specific settings: https://www.reddit.com/r/frigate_nvr/comments/1hnjvua/example_config_for_reolink_cameras/ \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Reolink RLC-510a: https://reolink.com/product/rlc-510a/?aff=301\n🛍️ Reolink Duo 3 PoE: https://reolink.com/us/product/reolink-duo-3-poe/?aff=301\n🛍️ Reolink Doorbell: https://reolink.com/us/product/reolink-video-doorbell-wifi/?aff=301\n🛍️ 10-Port PoE Switch: https://ebay.us/TWmU38\n🛍️ 120W Power Suuply: https://amzn.to/4rbRDkn\n🛍️ Cat5e (fight me): https://amzn.to/3MNEgZT\n🛍️ LincStation N2: https://amzn.to/4rjAMfR\n🛍️ Coral Accelerator: https://amzn.to/40Seoz2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Wallflowers\" - @badsnacks\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Why I like having my own cameras\n0:36 The cameras I chose\n2:58 Doorbell\n3:43 Networking\n6:12 Lunch, thanks to Factor (sponsor)\n7:50 Powering the switch\n8:52 Setting up camera number 1\n10:46 Cat5e vs Cat6 Rant\n11:39 Setting up camera number 1 cont\n13:15 More Cameras plus Home Assistant\n14:15 Deciding on an NVR\n15:34 Frigate Setup and Install\n20:00 Some more Home Assistant\n20:56 My experience with Frigate\n25:15 I'm very happy with this setup", "duration" => 1584, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e030700 - My New Local-Only Security Camera Setup.mp4", "id" => "O3Zx8WVW1MA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O3Zx8WVW1MA", "playlist_index" => 15, "timestamp" => 1772899308, "title" => "My New Local-Only Security Camera Setup", "upload_date" => "20260307"} 03:30:18.816 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:18.816 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:18.817 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.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-07 16:01:48Z], 67] 03:30:18.834 [debug] QUERY OK source="media_items" db=16.7ms idle=895.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Use code HARDWAREHAVENFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/3ZgtL3D!\n\n_Sorry for the poor audio quality at times. I'm still getting used to some new workflows._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Useful Links: \n- Frigate Docs: https://docs.frigate.video/ \n- Compiling Coral Driver: https://www.reddit.com/r/frigate_nvr/comments/1km57vu/coral_tpu_installation_for_ubuntu_2504/\n_*NOTE: when following these instructions for Debian 13, ignore the `MODULE_IMPORT_NS(DMA_BUF)` step.*_\n- Reolink specific settings: https://www.reddit.com/r/frigate_nvr/comments/1hnjvua/example_config_for_reolink_cameras/ \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Reolink RLC-510a: https://reolink.com/product/rlc-510a/?aff=301\n🛍️ Reolink Duo 3 PoE: https://reolink.com/us/product/reolink-duo-3-poe/?aff=301\n🛍️ Reolink Doorbell: https://reolink.com/us/product/reolink-video-doorbell-wifi/?aff=301\n🛍️ 10-Port PoE Switch: https://ebay.us/TWmU38\n🛍️ 120W Power Suuply: https://amzn.to/4rbRDkn\n🛍️ Cat5e (fight me): https://amzn.to/3MNEgZT\n🛍️ LincStation N2: https://amzn.to/4rjAMfR\n🛍️ Coral Accelerator: https://amzn.to/40Seoz2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Wallflowers\" - @badsnacks\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Why I like having my own cameras\n0:36 The cameras I chose\n2:58 Doorbell\n3:43 Networking\n6:12 Lunch, thanks to Factor (sponsor)\n7:50 Powering the switch\n8:52 Setting up camera number 1\n10:46 Cat5e vs Cat6 Rant\n11:39 Setting up camera number 1 cont\n13:15 More Cameras plus Home Assistant\n14:15 Deciding on an NVR\n15:34 Frigate Setup and Install\n20:00 Some more Home Assistant\n20:56 My experience with Frigate\n25:15 I'm very happy with this setup", "My New Local-Only Security Camera Setup", "9ca1c57d-0d53-49d9-a368-466140b69499", false, 67, [], 1584, false, "O3Zx8WVW1MA", "https://www.youtube.com/watch?v=O3Zx8WVW1MA", 15, "/downloads/Hardware Haven/Season 2026/s2026e030700 - My New Local-Only Security Camera Setup.mp4", false, false, 98, ~U[2026-03-07 16:01:48Z], ~U[2026-08-05 01:30:18Z], ~U[2026-08-05 01:30:18Z], "Use code HARDWAREHAVENFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/3ZgtL3D!\n\n_Sorry for the poor audio quality at times. I'm still getting used to some new workflows._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Useful Links: \n- Frigate Docs: https://docs.frigate.video/ \n- Compiling Coral Driver: https://www.reddit.com/r/frigate_nvr/comments/1km57vu/coral_tpu_installation_for_ubuntu_2504/\n_*NOTE: when following these instructions for Debian 13, ignore the `MODULE_IMPORT_NS(DMA_BUF)` step.*_\n- Reolink specific settings: https://www.reddit.com/r/frigate_nvr/comments/1hnjvua/example_config_for_reolink_cameras/ \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Reolink RLC-510a: https://reolink.com/product/rlc-510a/?aff=301\n🛍️ Reolink Duo 3 PoE: https://reolink.com/us/product/reolink-duo-3-poe/?aff=301\n🛍️ Reolink Doorbell: https://reolink.com/us/product/reolink-video-doorbell-wifi/?aff=301\n🛍️ 10-Port PoE Switch: https://ebay.us/TWmU38\n🛍️ 120W Power Suuply: https://amzn.to/4rbRDkn\n🛍️ Cat5e (fight me): https://amzn.to/3MNEgZT\n🛍️ LincStation N2: https://amzn.to/4rjAMfR\n🛍️ Coral Accelerator: https://amzn.to/40Seoz2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Wallflowers\" - @badsnacks\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Why I like having my own cameras\n0:36 The cameras I chose\n2:58 Doorbell\n3:43 Networking\n6:12 Lunch, thanks to Factor (sponsor)\n7:50 Powering the switch\n8:52 Setting up camera number 1\n10:46 Cat5e vs Cat6 Rant\n11:39 Setting up camera number 1 cont\n13:15 More Cameras plus Home Assistant\n14:15 Deciding on an NVR\n15:34 Frigate Setup and Install\n20:00 Some more Home Assistant\n20:56 My experience with Frigate\n25:15 I'm very happy with this setup", "My New Local-Only Security Camera Setup", 67, 1584, false, "O3Zx8WVW1MA", "https://www.youtube.com/watch?v=O3Zx8WVW1MA", "/downloads/Hardware Haven/Season 2026/s2026e030700 - My New Local-Only Security Camera Setup.mp4", false, ~U[2026-03-07 16:01:48Z]] 03:30:18.834 [debug] QUERY OK source="sources" db=0.2ms idle=906.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:18.834 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:18.835 [debug] QUERY OK source="media_items" db=0.2ms idle=18.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4717913] 03:30:18.835 [debug] Current batch of media processed. Will check again in 1000ms 03:30:19.836 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\nModel Links:\n- Mod 10 Rack: https://www.printables.com/model/1225275-modular-10-server-rack-mod10\n- HP Mini Rackmount: https://www.printables.com/model/585091-10-inch-rackmount-for-mini-hp-prodesk-elitedesk-g1/related\n- Tenda Switch Rackmount: https://www.printables.com/model/1274536-10-inch-rack-mount-for-tenda-25-gbit-switch-tem201\n- Patch Panel: https://www.printables.com/model/142384-10-rack-patch-panel\n- Vent Panel: https://www.printables.com/model/1372741-1-3u-10-inch-rack-mount-blank-panel-with-voronoi-p\n\nUseful Links:\n- Qolsys Integration: https://github.com/EHylands/ha-qolsys-panel\n- Great HA Dashboard Ideas: https://www.youtube.com/watch?v=b9oUjXYMNII&t=1356s\n- Awesome Home Assistant Videos: https://www.youtube.com/@EverythingSmartHome/videos\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ HA Connect ZWA-2: https://www.home-assistant.io/connect/zwa-2/\n🛍️ HA Connect ZBT-2: www.home-assistant.io/connect/zbt-2/\n🛍️ Tenda 10G/2.5G Switch: https://amzn.to/4cDNNgi\n🛍️ Zooz Switches: https://www.thesmartesthouse.com/collections/light-switches\n🛍️ Embrighten Switch: https://amzn.to/3MH2u7K\n🛍️ 4-Btn Z Wave Controller: https://amzn.to/4c7vbVP\n🛍️ Third Reality Devices: https://amzn.to/4aIBbCd\n🛍️ RATGDO: https://ratcloud.llc/\n🛍️ Tilt Sensor: https://amzn.to/4b1duX0\n🛍️ Zigbee Relay: https://amzn.to/4rwmARv\n🛍️ Door Sensor: https://amzn.to/4tPcPiC\n🛍️ Temp/Humidity Sensor: https://amzn.to/4kL5MDC\n🛍️ Vibration Sensor: https://amzn.to/4aulyPV\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My More Smarter Smart Home\n0:50 Private Internet Access (Sponsor)\n1:51 Previous mistakes and new goals\n2:45 Hardware\n6:51 Switches\n9:13 Zigbee Devices\n10:05 Alarm Panel\n12:02 Garage Door\n15:44 My Current Dashboard\n17:24 Helpful Automations and Scripts", "duration" => 1363, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e022200 - I Finally Built the Smart Home of My Dreams.mp4", "id" => "rWjUhu-OSVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rWjUhu-OSVg", "playlist_index" => 16, "timestamp" => 1771779537, "title" => "I Finally Built the Smart Home of My Dreams", "upload_date" => "20260222"} 03:30:19.837 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:19.837 [debug] QUERY OK source="sources" db=0.0ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:19.837 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 16:58:57Z], 67] 03:30:19.851 [debug] QUERY OK source="media_items" db=13.5ms idle=914.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\nModel Links:\n- Mod 10 Rack: https://www.printables.com/model/1225275-modular-10-server-rack-mod10\n- HP Mini Rackmount: https://www.printables.com/model/585091-10-inch-rackmount-for-mini-hp-prodesk-elitedesk-g1/related\n- Tenda Switch Rackmount: https://www.printables.com/model/1274536-10-inch-rack-mount-for-tenda-25-gbit-switch-tem201\n- Patch Panel: https://www.printables.com/model/142384-10-rack-patch-panel\n- Vent Panel: https://www.printables.com/model/1372741-1-3u-10-inch-rack-mount-blank-panel-with-voronoi-p\n\nUseful Links:\n- Qolsys Integration: https://github.com/EHylands/ha-qolsys-panel\n- Great HA Dashboard Ideas: https://www.youtube.com/watch?v=b9oUjXYMNII&t=1356s\n- Awesome Home Assistant Videos: https://www.youtube.com/@EverythingSmartHome/videos\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ HA Connect ZWA-2: https://www.home-assistant.io/connect/zwa-2/\n🛍️ HA Connect ZBT-2: www.home-assistant.io/connect/zbt-2/\n🛍️ Tenda 10G/2.5G Switch: https://amzn.to/4cDNNgi\n🛍️ Zooz Switches: https://www.thesmartesthouse.com/collections/light-switches\n🛍️ Embrighten Switch: https://amzn.to/3MH2u7K\n🛍️ 4-Btn Z Wave Controller: https://amzn.to/4c7vbVP\n🛍️ Third Reality Devices: https://amzn.to/4aIBbCd\n🛍️ RATGDO: https://ratcloud.llc/\n🛍️ Tilt Sensor: https://amzn.to/4b1duX0\n🛍️ Zigbee Relay: https://amzn.to/4rwmARv\n🛍️ Door Sensor: https://amzn.to/4tPcPiC\n🛍️ Temp/Humidity Sensor: https://amzn.to/4kL5MDC\n🛍️ Vibration Sensor: https://amzn.to/4aulyPV\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My More Smarter Smart Home\n0:50 Private Internet Access (Sponsor)\n1:51 Previous mistakes and new goals\n2:45 Hardware\n6:51 Switches\n9:13 Zigbee Devices\n10:05 Alarm Panel\n12:02 Garage Door\n15:44 My Current Dashboard\n17:24 Helpful Automations and Scripts", "I Finally Built the Smart Home of My Dreams", "80f5d572-8dbe-4fc7-a2fa-f41e5f14f712", false, 67, [], 1363, false, "rWjUhu-OSVg", "https://www.youtube.com/watch?v=rWjUhu-OSVg", 16, "/downloads/Hardware Haven/Season 2026/s2026e022200 - I Finally Built the Smart Home of My Dreams.mp4", false, false, 98, ~U[2026-02-22 16:58:57Z], ~U[2026-08-05 01:30:19Z], ~U[2026-08-05 01:30:19Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\nModel Links:\n- Mod 10 Rack: https://www.printables.com/model/1225275-modular-10-server-rack-mod10\n- HP Mini Rackmount: https://www.printables.com/model/585091-10-inch-rackmount-for-mini-hp-prodesk-elitedesk-g1/related\n- Tenda Switch Rackmount: https://www.printables.com/model/1274536-10-inch-rack-mount-for-tenda-25-gbit-switch-tem201\n- Patch Panel: https://www.printables.com/model/142384-10-rack-patch-panel\n- Vent Panel: https://www.printables.com/model/1372741-1-3u-10-inch-rack-mount-blank-panel-with-voronoi-p\n\nUseful Links:\n- Qolsys Integration: https://github.com/EHylands/ha-qolsys-panel\n- Great HA Dashboard Ideas: https://www.youtube.com/watch?v=b9oUjXYMNII&t=1356s\n- Awesome Home Assistant Videos: https://www.youtube.com/@EverythingSmartHome/videos\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ HA Connect ZWA-2: https://www.home-assistant.io/connect/zwa-2/\n🛍️ HA Connect ZBT-2: www.home-assistant.io/connect/zbt-2/\n🛍️ Tenda 10G/2.5G Switch: https://amzn.to/4cDNNgi\n🛍️ Zooz Switches: https://www.thesmartesthouse.com/collections/light-switches\n🛍️ Embrighten Switch: https://amzn.to/3MH2u7K\n🛍️ 4-Btn Z Wave Controller: https://amzn.to/4c7vbVP\n🛍️ Third Reality Devices: https://amzn.to/4aIBbCd\n🛍️ RATGDO: https://ratcloud.llc/\n🛍️ Tilt Sensor: https://amzn.to/4b1duX0\n🛍️ Zigbee Relay: https://amzn.to/4rwmARv\n🛍️ Door Sensor: https://amzn.to/4tPcPiC\n🛍️ Temp/Humidity Sensor: https://amzn.to/4kL5MDC\n🛍️ Vibration Sensor: https://amzn.to/4aulyPV\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My More Smarter Smart Home\n0:50 Private Internet Access (Sponsor)\n1:51 Previous mistakes and new goals\n2:45 Hardware\n6:51 Switches\n9:13 Zigbee Devices\n10:05 Alarm Panel\n12:02 Garage Door\n15:44 My Current Dashboard\n17:24 Helpful Automations and Scripts", "I Finally Built the Smart Home of My Dreams", 67, 1363, false, "rWjUhu-OSVg", "https://www.youtube.com/watch?v=rWjUhu-OSVg", "/downloads/Hardware Haven/Season 2026/s2026e022200 - I Finally Built the Smart Home of My Dreams.mp4", false, ~U[2026-02-22 16:58:57Z]] 03:30:19.852 [debug] QUERY OK source="sources" db=0.1ms idle=923.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:19.852 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:19.852 [debug] QUERY OK source="media_items" db=0.1ms idle=15.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4673283] 03:30:19.853 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "", "duration" => 402, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e021700 - RAID Behind the Scenes - Painting and more....NA", "id" => "bq1j05pcZpI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bq1j05pcZpI", "playlist_index" => 17, "timestamp" => 1771357535, "title" => "RAID Behind the Scenes - Painting and more...", "upload_date" => "20260217"} 03:30:19.853 [debug] QUERY OK source="sources" db=0.1ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:19.853 [debug] QUERY OK source="sources" db=0.0ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:19.854 [debug] QUERY OK source="media_items" db=0.3ms idle=1.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 19:45:35Z], 67] 03:30:19.854 [debug] QUERY OK source="media_items" db=0.5ms idle=1.8ms INSERT INTO "media_items" AS m0 ("title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["RAID Behind the Scenes - Painting and more...", "7d53785b-70c7-4345-950c-99f403c5bc18", false, 67, [], 402, false, "bq1j05pcZpI", "https://www.youtube.com/watch?v=bq1j05pcZpI", 17, "/downloads/Hardware Haven/Season 2026/s2026e021700 - RAID Behind the Scenes - Painting and more....NA", false, false, 98, ~U[2026-02-17 19:45:35Z], ~U[2026-08-05 01:30:19Z], ~U[2026-08-05 01:30:19Z], "", "RAID Behind the Scenes - Painting and more...", 67, 402, false, "bq1j05pcZpI", "https://www.youtube.com/watch?v=bq1j05pcZpI", "/downloads/Hardware Haven/Season 2026/s2026e021700 - RAID Behind the Scenes - Painting and more....NA", false, ~U[2026-02-17 19:45:35Z]] 03:30:19.855 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:19.855 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:19.855 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4656326] 03:30:19.856 [info] Kicking off download for media item #4656326 (bq1j05pcZpI) 03:30:19.857 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133812, 4656326, ~U[2026-08-05 01:30:19Z], ~U[2026-08-05 01:30:19Z]] 03:30:19.857 [debug] Current batch of media processed. Will check again in 1000ms 03:30:19.864 [info] {"args":{"id":4656326},"id":133812,"meta":{},"system_time":1785893419863914787,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:19.864 [debug] QUERY OK source="media_items" db=0.1ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4656326] 03:30:19.864 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:19.864 [debug] QUERY OK source="sources" db=0.1ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:19.864 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:19.865 [debug] QUERY OK source="media_items" db=0.2ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4656326] 03:30:19.865 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4656326] 03:30:19.866 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:19.866 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:19.866 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:19.866 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:19.866 [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 [] 03:30:19.866 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:19.867 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:19.867 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bq1j05pcZpI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/42/ab4200142ded120e7a4a05459806b75953830a5016bc8d5ba97f75ef30008da2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:20.858 [debug] Current batch of media processed. Will check again in 1000ms 03:30:20.932 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785893420932000729,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:20.932 [debug] QUERY OK source="media_items" db=0.1ms idle=1065.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3646417] 03:30:20.932 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:20.932 [debug] QUERY OK source="sources" db=0.1ms idle=1008.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 03:30:20.933 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1003.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:20.933 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 03:30:20.943 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 03:30:20.943 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:20.943 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:20.944 [debug] QUERY OK source="settings" db=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:20.944 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:20.944 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:20.945 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:20.945 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:20.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/40/0c409f8a4233838b8b48fddfdcdd35bf9f63ec4e54334e0fd7c97c064ad53f6e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:21.859 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Long Fiber Patch Cables: https://www.fs.com/products/40204.html\n🛍️ Short Fiber Patch Cables: https://amzn.to/4tD2ZAk\n🛍️ SFP+ Transceivers: https://amzn.to/4aPURFj\n🛍️ Unmanaged 10G/2.5G Switch: https://amzn.to/4kCeq7u\n🛍️ Mikrotik 10G/2.5G Switch: https://amzn.to/4kyX5w1\n🛍️ Riveco 15U Rack: https://amzn.to/4tCnzku\n🛍️TP Link 2.5Gb PoE Switch: https://amzn.to/4aQWFxK\n🛍️TP Link AP: https://amzn.to/3MB7VVI\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"The Butterfly Nose\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Town Groove\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I Moved!\n1:04 The Plan for Today\n1:46 Cable Runs\n5:40 New Rack\n8:18 IT'S WORKING\n9:44 New Firewall Setup\n11:55 OPNSense Config Overview\n14:15 Upcoming Projects", "duration" => 930, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e021500 - Building Out My New Network.mp4", "id" => "5xVNyS6HWoY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5xVNyS6HWoY", "playlist_index" => 18, "timestamp" => 1771171424, "title" => "Building Out My New Network", "upload_date" => "20260215"} 03:30:21.860 [debug] QUERY OK source="sources" db=0.1ms idle=915.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:21.860 [debug] QUERY OK source="sources" db=0.1ms idle=916.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:21.861 [debug] QUERY OK source="media_items" db=0.5ms idle=915.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 16:03:44Z], 67] 03:30:21.863 [debug] QUERY OK source="media_items" db=2.1ms idle=916.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Long Fiber Patch Cables: https://www.fs.com/products/40204.html\n🛍️ Short Fiber Patch Cables: https://amzn.to/4tD2ZAk\n🛍️ SFP+ Transceivers: https://amzn.to/4aPURFj\n🛍️ Unmanaged 10G/2.5G Switch: https://amzn.to/4kCeq7u\n🛍️ Mikrotik 10G/2.5G Switch: https://amzn.to/4kyX5w1\n🛍️ Riveco 15U Rack: https://amzn.to/4tCnzku\n🛍️TP Link 2.5Gb PoE Switch: https://amzn.to/4aQWFxK\n🛍️TP Link AP: https://amzn.to/3MB7VVI\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"The Butterfly Nose\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Town Groove\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I Moved!\n1:04 The Plan for Today\n1:46 Cable Runs\n5:40 New Rack\n8:18 IT'S WORKING\n9:44 New Firewall Setup\n11:55 OPNSense Config Overview\n14:15 Upcoming Projects", "Building Out My New Network", "512324d9-d3d2-4f7a-b448-75a3f92f5cc8", false, 67, [], 930, false, "5xVNyS6HWoY", "https://www.youtube.com/watch?v=5xVNyS6HWoY", 18, "/downloads/Hardware Haven/Season 2026/s2026e021500 - Building Out My New Network.mp4", false, false, 98, ~U[2026-02-15 16:03:44Z], ~U[2026-08-05 01:30:21Z], ~U[2026-08-05 01:30:21Z], "► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Long Fiber Patch Cables: https://www.fs.com/products/40204.html\n🛍️ Short Fiber Patch Cables: https://amzn.to/4tD2ZAk\n🛍️ SFP+ Transceivers: https://amzn.to/4aPURFj\n🛍️ Unmanaged 10G/2.5G Switch: https://amzn.to/4kCeq7u\n🛍️ Mikrotik 10G/2.5G Switch: https://amzn.to/4kyX5w1\n🛍️ Riveco 15U Rack: https://amzn.to/4tCnzku\n🛍️TP Link 2.5Gb PoE Switch: https://amzn.to/4aQWFxK\n🛍️TP Link AP: https://amzn.to/3MB7VVI\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"The Butterfly Nose\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Town Groove\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I Moved!\n1:04 The Plan for Today\n1:46 Cable Runs\n5:40 New Rack\n8:18 IT'S WORKING\n9:44 New Firewall Setup\n11:55 OPNSense Config Overview\n14:15 Upcoming Projects", "Building Out My New Network", 67, 930, false, "5xVNyS6HWoY", "https://www.youtube.com/watch?v=5xVNyS6HWoY", "/downloads/Hardware Haven/Season 2026/s2026e021500 - Building Out My New Network.mp4", false, ~U[2026-02-15 16:03:44Z]] 03:30:21.864 [debug] QUERY OK source="sources" db=0.2ms idle=918.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:21.865 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:21.865 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4649643] 03:30:21.866 [debug] Current batch of media processed. Will check again in 1000ms 03:30:21.909 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bq1j05pcZpI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/42/ab4200142ded120e7a4a05459806b75953830a5016bc8d5ba97f75ef30008da2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:21.909 [error] yt-dlp download error for media item #4656326: "WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:21.909 [error] yt-dlp download will not be retried: "WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:21.910 [info] {"args":{"id":4656326},"id":133812,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2046086,"event":"job:stop","queue_time":863378,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:22.611 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/40/0c409f8a4233838b8b48fddfdcdd35bf9f63ec4e54334e0fd7c97c064ad53f6e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:22.611 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:22.612 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1679694,"event":"job:exception","queue_time":583926,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:22.866 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► LincStation N2: https://www.lincplustech.com/products/lincstation-n2-network-attached-storage\n\n► Helpful Links:\n- Install TrueNAS to eMMC: https://forums.truenas.com/t/reinstallation-of-truenas-fails-error-cant-find-partition-2-on-mmcblk0/49432/15\n- Front LEDs Daemon: https://github.com/fazalmajid/lincstation_leds\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ LincStation N2: https://amzn.to/4qNecgd\n🛍️ Kill-a-Watt: https://amzn.to/3AkxrIR \n🛍️ Crucial 1TB NVMe SSD: https://amzn.to/4jJsk6T\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:51 The LincStation N2\n1:55 Private internet Access (Sponsor)\n2:43 Design, Specs, and I O\n5:36 First Boot and Unraid\n6:04 The BIGGEST Issue with the N2\n7:58 TrueNAS and eMMC\n10:01 Idle Power Draw\n11:12 Geekbench 6\n11:46 Jellyfin and Crafty Controller\n12:26 Fan Noise and CPU Temps\n12:54 Teardown\n14:20 A Good Value?", "duration" => 986, "filename" => "/downloads/Hardware Haven/Season 2026/s2026e012400 - This might be my favorite new mini server....mp4", "id" => "5oQ_vnjgBjY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5oQ_vnjgBjY", "playlist_index" => 19, "timestamp" => 1769270442, "title" => "This might be my favorite new mini server...", "upload_date" => "20260124"} 03:30:22.867 [debug] QUERY OK source="sources" db=0.2ms idle=949.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:22.867 [debug] QUERY OK source="sources" db=0.1ms idle=939.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:22.867 [debug] QUERY OK source="media_items" db=0.4ms idle=934.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 16:00:42Z], 67] 03:30:22.869 [debug] QUERY OK source="media_items" db=0.8ms idle=255.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► LincStation N2: https://www.lincplustech.com/products/lincstation-n2-network-attached-storage\n\n► Helpful Links:\n- Install TrueNAS to eMMC: https://forums.truenas.com/t/reinstallation-of-truenas-fails-error-cant-find-partition-2-on-mmcblk0/49432/15\n- Front LEDs Daemon: https://github.com/fazalmajid/lincstation_leds\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ LincStation N2: https://amzn.to/4qNecgd\n🛍️ Kill-a-Watt: https://amzn.to/3AkxrIR \n🛍️ Crucial 1TB NVMe SSD: https://amzn.to/4jJsk6T\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:51 The LincStation N2\n1:55 Private internet Access (Sponsor)\n2:43 Design, Specs, and I O\n5:36 First Boot and Unraid\n6:04 The BIGGEST Issue with the N2\n7:58 TrueNAS and eMMC\n10:01 Idle Power Draw\n11:12 Geekbench 6\n11:46 Jellyfin and Crafty Controller\n12:26 Fan Noise and CPU Temps\n12:54 Teardown\n14:20 A Good Value?", "This might be my favorite new mini server...", "0127d508-0284-4bc4-ba59-e227446cff02", false, 67, [], 986, false, "5oQ_vnjgBjY", "https://www.youtube.com/watch?v=5oQ_vnjgBjY", 19, "/downloads/Hardware Haven/Season 2026/s2026e012400 - This might be my favorite new mini server....mp4", false, false, 98, ~U[2026-01-24 16:00:42Z], ~U[2026-08-05 01:30:22Z], ~U[2026-08-05 01:30:22Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► LincStation N2: https://www.lincplustech.com/products/lincstation-n2-network-attached-storage\n\n► Helpful Links:\n- Install TrueNAS to eMMC: https://forums.truenas.com/t/reinstallation-of-truenas-fails-error-cant-find-partition-2-on-mmcblk0/49432/15\n- Front LEDs Daemon: https://github.com/fazalmajid/lincstation_leds\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ LincStation N2: https://amzn.to/4qNecgd\n🛍️ Kill-a-Watt: https://amzn.to/3AkxrIR \n🛍️ Crucial 1TB NVMe SSD: https://amzn.to/4jJsk6T\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:51 The LincStation N2\n1:55 Private internet Access (Sponsor)\n2:43 Design, Specs, and I O\n5:36 First Boot and Unraid\n6:04 The BIGGEST Issue with the N2\n7:58 TrueNAS and eMMC\n10:01 Idle Power Draw\n11:12 Geekbench 6\n11:46 Jellyfin and Crafty Controller\n12:26 Fan Noise and CPU Temps\n12:54 Teardown\n14:20 A Good Value?", "This might be my favorite new mini server...", 67, 986, false, "5oQ_vnjgBjY", "https://www.youtube.com/watch?v=5oQ_vnjgBjY", "/downloads/Hardware Haven/Season 2026/s2026e012400 - This might be my favorite new mini server....mp4", false, ~U[2026-01-24 16:00:42Z]] 03:30:22.869 [debug] QUERY OK source="sources" db=0.1ms idle=251.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:22.869 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:22.869 [debug] QUERY OK source="media_items" db=0.1ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4576754] 03:30:22.869 [debug] Current batch of media processed. Will check again in 1000ms 03:30:23.580 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@HardwareHaven --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Hardware Haven/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/9d/4b/9d4b84d15acc2183235c8a12048fac72225ebb9f01116dcb5842615c0dbcdccb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b7/51/b7519e5b5916796dd49b2fcae2ea72ff189126983a86379ee86e64a42235a870.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:30:23.581 [debug] Gracefully stopping file follower 03:30:23.581 [debug] QUERY OK source="sources" db=0.1ms idle=711.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [67] 03:30:23.581 [debug] QUERY OK source="sources" db=0.0ms idle=712.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.582 [debug] QUERY OK source="media_items" db=0.4ms idle=712.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 16:15:14Z], 67] 03:30:23.583 [debug] QUERY OK source="media_items" db=0.7ms idle=654.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Fanttik for sponsoring this video!\nGet the Fanttik Slim V10 Apex 4-in-1 Car Vacuum: \nUse 8% off code HardwareV10 at: https://amzn.to/4pkQB6x #Fanttik\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n►Helpful Links:\n- Fedora: https://fedoraproject.org/\n- CachyOS: https://cachyos.org/\n- No Signal Guides: https://www.no-signal.uk/#projects\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 I did the thing\n0:33 Why did I make the switch?\n2:12 Something else that sucks (sponsor)\n3:29 Before going into this...\n5:23 Linux Mint and Fedora KDE\n7:29 I got GNOMED (In the good way)\n10:40 What about my main PC?\n12:43 CachyOS\n16:32 Trying Rocky Linux and Resolve\n18:27 Plan B for Resolve\n19:42 Short LLM Tangent\n20:49 Back to Resolve\n21:38 ... it worked.\n24:12 Install Montage\n24:25 CachyOS (Again)\n25:34 Linux CAN suck\n29:41 The suck might be worth it\n31:08 Did I stick with it?", "I FULLY Switched to Linux... but will I stay?", "85907ed2-9df7-4e13-a68a-47da984c0300", false, 67, [], 2159, false, "GHi0jYZPiyM", "https://www.youtube.com/watch?v=GHi0jYZPiyM", 1, "/downloads/Hardware Haven/Season 2026/s2026e072600 - I FULLY Switched to Linux... but will I stay?.mp4", false, false, 98, ~U[2026-07-26 16:15:14Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks to Fanttik for sponsoring this video!\nGet the Fanttik Slim V10 Apex 4-in-1 Car Vacuum: \nUse 8% off code HardwareV10 at: https://amzn.to/4pkQB6x #Fanttik\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n►Helpful Links:\n- Fedora: https://fedoraproject.org/\n- CachyOS: https://cachyos.org/\n- No Signal Guides: https://www.no-signal.uk/#projects\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 I did the thing\n0:33 Why did I make the switch?\n2:12 Something else that sucks (sponsor)\n3:29 Before going into this...\n5:23 Linux Mint and Fedora KDE\n7:29 I got GNOMED (In the good way)\n10:40 What about my main PC?\n12:43 CachyOS\n16:32 Trying Rocky Linux and Resolve\n18:27 Plan B for Resolve\n19:42 Short LLM Tangent\n20:49 Back to Resolve\n21:38 ... it worked.\n24:12 Install Montage\n24:25 CachyOS (Again)\n25:34 Linux CAN suck\n29:41 The suck might be worth it\n31:08 Did I stick with it?", "I FULLY Switched to Linux... but will I stay?", 67, 2159, false, "GHi0jYZPiyM", "https://www.youtube.com/watch?v=GHi0jYZPiyM", "/downloads/Hardware Haven/Season 2026/s2026e072600 - I FULLY Switched to Linux... but will I stay?.mp4", false, ~U[2026-07-26 16:15:14Z]] 03:30:23.583 [debug] QUERY OK source="sources" db=0.1ms idle=649.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.584 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 16:17:15Z], 67] 03:30:23.585 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/yT5f17K or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ DXP2800 GT: https://amzn.to/4pdHcxr\n🛍️ DXP4800 GT: https://amzn.to/4wETYaX\n🛍️ LinkStation N2: https://amzn.to/4wETYaX\n🛍️ M.2 to U.2 Adapter: https://amzn.to/4wETYaX\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n---------------------------------------------------\nTimestamps:\n0:00 Unleash Your Creativity\n0:58 UGREEN DXP GT Series\n5:23 Monarch Money (sponsor)\n6:55 Adding Storage and Initial Setup\n8:30 UGOS NAS Experience \n10:37 SSD Caching\n12:08 Snapshots and Backups\n13:40 Fan Noise and pOwer Draw\n14:08 Surveillance Center\n15:37 Photos App\n17:12 Docker (Home Assistant, Jellyfin)\n19:10 Virtual Machines\n19:06 UGOS Thoughts\n20:03 Installing Your Own OS\n21:50 More Power and Geekbench\n23:03 RAM Upgrade and Proxmox\n23:59 Downsides to 3rd Part OS\n24:31 Quick Teardown\n25:23 Would I buy one?", "Is This Budget 10G NAS as Good as They Say?", "10e883bd-cf98-49bf-9e9e-08b5ad2a89e0", false, 67, [], 1617, false, "eHgZW63j1ok", "https://www.youtube.com/watch?v=eHgZW63j1ok", 2, "/downloads/Hardware Haven/Season 2026/s2026e071100 - Is This Budget 10G NAS as Good as They Say?.mp4", false, false, 98, ~U[2026-07-11 16:17:15Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/yT5f17K or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ DXP2800 GT: https://amzn.to/4pdHcxr\n🛍️ DXP4800 GT: https://amzn.to/4wETYaX\n🛍️ LinkStation N2: https://amzn.to/4wETYaX\n🛍️ M.2 to U.2 Adapter: https://amzn.to/4wETYaX\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n---------------------------------------------------\nTimestamps:\n0:00 Unleash Your Creativity\n0:58 UGREEN DXP GT Series\n5:23 Monarch Money (sponsor)\n6:55 Adding Storage and Initial Setup\n8:30 UGOS NAS Experience \n10:37 SSD Caching\n12:08 Snapshots and Backups\n13:40 Fan Noise and pOwer Draw\n14:08 Surveillance Center\n15:37 Photos App\n17:12 Docker (Home Assistant, Jellyfin)\n19:10 Virtual Machines\n19:06 UGOS Thoughts\n20:03 Installing Your Own OS\n21:50 More Power and Geekbench\n23:03 RAM Upgrade and Proxmox\n23:59 Downsides to 3rd Part OS\n24:31 Quick Teardown\n25:23 Would I buy one?", "Is This Budget 10G NAS as Good as They Say?", 67, 1617, false, "eHgZW63j1ok", "https://www.youtube.com/watch?v=eHgZW63j1ok", "/downloads/Hardware Haven/Season 2026/s2026e071100 - Is This Budget 10G NAS as Good as They Say?.mp4", false, ~U[2026-07-11 16:17:15Z]] 03:30:23.585 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.585 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 16:15:19Z], 67] 03:30:23.586 [debug] QUERY OK source="media_items" db=0.8ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- OPS 10\" Rack Mount Design: https://www.printables.com/model/1765621-ops-module-10-rack-mount\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ OPS2-5P8R256S: https://ebay.us/DA9c5B\n🛍️ VFlex Module: https://werewolf.us/\n🛍️ M.2 E Key NVMe: https://amzn.to/4vBcSPR\n🛍️ OPS DC Adapter: https://amzn.to/4eMLDL2\n🛍️ OPS Breakout Adapter: https://ebay.us/vU5sBN\n\n3D Filament Used:\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mmu\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 I love this little guy\n0:38 What is this?\n2:07 Why these COULD be useful\n4:04 Designing with OnShape (sponsor)\n4:56 Getting this to actually turn on\n8:06 Specs\n11:19 Thermals and Fan Curve\n12:18 Geekbench6 and power Draw\n13:16 Crafty, Jellyfin, Frigate\n14:29 Desktop and Game Streaming\n14:50 Cost and Pricing Weirdness\n17:01 Other similar systems\n18:35 How do you get this thing to turn on?\n21:11 Final thoughts", "I Think I Found My Favorite Mini PC", "2cf0731d-203b-425f-af6d-12f4e717e368", false, 67, [], 1347, false, "c4fu7SvJKco", "https://www.youtube.com/watch?v=c4fu7SvJKco", 3, "/downloads/Hardware Haven/Season 2026/s2026e062700 - I Think I Found My Favorite Mini PC.mp4", false, false, 98, ~U[2026-06-27 16:15:19Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- OPS 10\" Rack Mount Design: https://www.printables.com/model/1765621-ops-module-10-rack-mount\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ OPS2-5P8R256S: https://ebay.us/DA9c5B\n🛍️ VFlex Module: https://werewolf.us/\n🛍️ M.2 E Key NVMe: https://amzn.to/4vBcSPR\n🛍️ OPS DC Adapter: https://amzn.to/4eMLDL2\n🛍️ OPS Breakout Adapter: https://ebay.us/vU5sBN\n\n3D Filament Used:\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mmu\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 I love this little guy\n0:38 What is this?\n2:07 Why these COULD be useful\n4:04 Designing with OnShape (sponsor)\n4:56 Getting this to actually turn on\n8:06 Specs\n11:19 Thermals and Fan Curve\n12:18 Geekbench6 and power Draw\n13:16 Crafty, Jellyfin, Frigate\n14:29 Desktop and Game Streaming\n14:50 Cost and Pricing Weirdness\n17:01 Other similar systems\n18:35 How do you get this thing to turn on?\n21:11 Final thoughts", "I Think I Found My Favorite Mini PC", 67, 1347, false, "c4fu7SvJKco", "https://www.youtube.com/watch?v=c4fu7SvJKco", "/downloads/Hardware Haven/Season 2026/s2026e062700 - I Think I Found My Favorite Mini PC.mp4", false, ~U[2026-06-27 16:15:19Z]] 03:30:23.587 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.587 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 16:15:29Z], 67] 03:30:23.588 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["- UGREEN Nexode Pro 200W Power Bank (43% OFF with code: UGREENPB728, until 6/26): https://amzn.to/4vCLmkw\n- UGREEN Nexode Pro 160W Charger (44% OFF until 6/26): https://amzn.to/3StW6TP\n- Check out UGREEN Prime Day Deals, up to 40% OFF: https://amzn.to/49NmEWf\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- Edge 510 Guide: https://github.com/PhoenixSheppy/VeloCloud-Edge-510-OPNsense-Conversion-Guide\n- Edge 610/620 Thread: https://forums.servethehome.com/index.php?threads/dell-vep-vmware-edge-velo-cloud-sd-wan-veracloud-vep1400-vep1400-x-firewall-units.39392/\n- Debian Serial USB Guide: https://github.com/hardwarehaven/Debian-Serial-USB\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ VeloCloud 510s Used: https://ebay.us/Cjx9Ii\n🛍️ VeloCloud 610s Used: https://ebay.us/FlE867\n🛍️ mPCIe to M.2: https://amzn.to/4w2Vsvl\n🛍️ mPCIe to PCIe: https://amzn.to/43LcZvY\n🛍️ SFP RJ45 Transceivers: https://amzn.to/3QfRksF\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 Why do I do this to myself?\n0:54 What are these?\n3:02 Specs and IO\n5:54 Awesome Tech ft. UGREEN (sponsor)\n7:58 Cracking the Edge 510\n9:46 Cracking the Edge 610\n12:17 Networking Issues\n17:04 OPNSense Working\n17:32 OpenWRT\n19:40 Geekbench and power draw\n21:31 Final thoughts", "I might have found the BEST budget router...", "beb9bd41-5d43-407a-b989-79912719857b", false, 67, [], 1352, false, "ECmoqrNQLCw", "https://www.youtube.com/watch?v=ECmoqrNQLCw", 4, "/downloads/Hardware Haven/Season 2026/s2026e062000 - I might have found the BEST budget router....mp4", false, false, 98, ~U[2026-06-20 16:15:29Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "- UGREEN Nexode Pro 200W Power Bank (43% OFF with code: UGREENPB728, until 6/26): https://amzn.to/4vCLmkw\n- UGREEN Nexode Pro 160W Charger (44% OFF until 6/26): https://amzn.to/3StW6TP\n- Check out UGREEN Prime Day Deals, up to 40% OFF: https://amzn.to/49NmEWf\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Useful Links:\n- Edge 510 Guide: https://github.com/PhoenixSheppy/VeloCloud-Edge-510-OPNsense-Conversion-Guide\n- Edge 610/620 Thread: https://forums.servethehome.com/index.php?threads/dell-vep-vmware-edge-velo-cloud-sd-wan-veracloud-vep1400-vep1400-x-firewall-units.39392/\n- Debian Serial USB Guide: https://github.com/hardwarehaven/Debian-Serial-USB\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ VeloCloud 510s Used: https://ebay.us/Cjx9Ii\n🛍️ VeloCloud 610s Used: https://ebay.us/FlE867\n🛍️ mPCIe to M.2: https://amzn.to/4w2Vsvl\n🛍️ mPCIe to PCIe: https://amzn.to/43LcZvY\n🛍️ SFP RJ45 Transceivers: https://amzn.to/3QfRksF\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 Why do I do this to myself?\n0:54 What are these?\n3:02 Specs and IO\n5:54 Awesome Tech ft. UGREEN (sponsor)\n7:58 Cracking the Edge 510\n9:46 Cracking the Edge 610\n12:17 Networking Issues\n17:04 OPNSense Working\n17:32 OpenWRT\n19:40 Geekbench and power draw\n21:31 Final thoughts", "I might have found the BEST budget router...", 67, 1352, false, "ECmoqrNQLCw", "https://www.youtube.com/watch?v=ECmoqrNQLCw", "/downloads/Hardware Haven/Season 2026/s2026e062000 - I might have found the BEST budget router....mp4", false, ~U[2026-06-20 16:15:29Z]] 03:30:23.589 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.589 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-13 17:09:10Z], 67] 03:30:23.590 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/8v1YyHs or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n1:36 Tip Number 1\n4:23 Tip Number 2\n5:56 Bonus Tip a.k.a. Monarch Money (sponsor)\n7:45 Tip Number 3\n11:06 Tip Number 4\n13:43 Tip Number 5\n18:03 Tip Number 6", "6 Tips for Finding Good Deals on PC Hardware", "3eabd602-50de-4a78-8a41-2c17b3a69c3c", false, 67, [], 1300, false, "czsb3xFHm_c", "https://www.youtube.com/watch?v=czsb3xFHm_c", 5, "/downloads/Hardware Haven/Season 2026/s2026e061300 - 6 Tips for Finding Good Deals on PC Hardware.mp4", false, false, 98, ~U[2026-06-13 17:09:10Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/8v1YyHs or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n1:36 Tip Number 1\n4:23 Tip Number 2\n5:56 Bonus Tip a.k.a. Monarch Money (sponsor)\n7:45 Tip Number 3\n11:06 Tip Number 4\n13:43 Tip Number 5\n18:03 Tip Number 6", "6 Tips for Finding Good Deals on PC Hardware", 67, 1300, false, "czsb3xFHm_c", "https://www.youtube.com/watch?v=czsb3xFHm_c", "/downloads/Hardware Haven/Season 2026/s2026e061300 - 6 Tips for Finding Good Deals on PC Hardware.mp4", false, ~U[2026-06-13 17:09:10Z]] 03:30:23.590 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.591 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 18:37:40Z], 67] 03:30:23.591 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought this \"for parts\" Supermicro X11SRA-F motherboard for just $122. Can I get it working? Hope you enjoy!", "I bought a $500 \"For Parts\" motherboard. Can I fix it?", "a35b0ae3-ea5e-4a5f-815f-e8f379c12fa7", false, 67, [], 619, false, "Xf3aZIRqT2Q", "https://www.youtube.com/watch?v=Xf3aZIRqT2Q", 6, "/downloads/Hardware Haven/Season 2026/s2026e060400 - I bought a $500 "For Parts" motherboard. Can I fix it?.NA", false, false, 98, ~U[2026-06-04 18:37:40Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "I bought this \"for parts\" Supermicro X11SRA-F motherboard for just $122. Can I get it working? Hope you enjoy!", "I bought a $500 \"For Parts\" motherboard. Can I fix it?", 67, 619, false, "Xf3aZIRqT2Q", "https://www.youtube.com/watch?v=Xf3aZIRqT2Q", "/downloads/Hardware Haven/Season 2026/s2026e060400 - I bought a $500 "For Parts" motherboard. Can I fix it?.NA", false, ~U[2026-06-04 18:37:40Z]] 03:30:23.592 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.592 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 15:50:04Z], 67] 03:30:23.593 [debug] QUERY OK source="media_items" db=0.7ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fanttik’s biggest day of the year is today! The 6th anniversary celebration!\n- Get 44% off the Fanttik B10 Pro Max Electric Air Duster with my code HardwareB10 at: https://amzn.to/4wdYcXt \n- Get 35% off the Fanttik S2 Pro Electric Screwdriver with my code HardwareS2 at: https://amzn.to/48Nas7h \n- #Fanttik #FanttikDay\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ mPCIe to M.2 E: https://amzn.to/4veGHVz\n🛍️ mPCIe to PCIe Slot: https://amzn.to/4uIonEs\n🛍️ mPCIe to SATA: https://amzn.to/4nV8BUe\n🛍️ mPCIe extension: https://amzn.to/430ghLp\n🛍️ mPCIe to GbE: https://amzn.to/4wUk1vH\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This PC is special\n0:49 HP 500-c60\n2:40 B10 Pro Max (sponsor)\n4:37 Internal Specs\n5:44 Getting it booted\n6:32 Network Issues\n7:37 Sorting out RAM\n8:21 Power Draw\n8:59 Geekbench\n9:26 Hosting a Minecraft Server\n10:10 Mini PCIe Woes\n13:23 Using this as a Home Server?\n14:17 Desktop usage with Debian\n15:09 Moonlight for some reason\n15:42 Good memories...", "The PC That Started My Channel", "1561698b-6457-44dd-a591-193cb424b562", false, 67, [], 1021, false, "sHjFfBNyeF4", "https://www.youtube.com/watch?v=sHjFfBNyeF4", 7, "/downloads/Hardware Haven/Season 2026/s2026e053100 - The PC That Started My Channel.mp4", false, false, 98, ~U[2026-05-31 15:50:04Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Fanttik’s biggest day of the year is today! The 6th anniversary celebration!\n- Get 44% off the Fanttik B10 Pro Max Electric Air Duster with my code HardwareB10 at: https://amzn.to/4wdYcXt \n- Get 35% off the Fanttik S2 Pro Electric Screwdriver with my code HardwareS2 at: https://amzn.to/48Nas7h \n- #Fanttik #FanttikDay\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ mPCIe to M.2 E: https://amzn.to/4veGHVz\n🛍️ mPCIe to PCIe Slot: https://amzn.to/4uIonEs\n🛍️ mPCIe to SATA: https://amzn.to/4nV8BUe\n🛍️ mPCIe extension: https://amzn.to/430ghLp\n🛍️ mPCIe to GbE: https://amzn.to/4wUk1vH\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This PC is special\n0:49 HP 500-c60\n2:40 B10 Pro Max (sponsor)\n4:37 Internal Specs\n5:44 Getting it booted\n6:32 Network Issues\n7:37 Sorting out RAM\n8:21 Power Draw\n8:59 Geekbench\n9:26 Hosting a Minecraft Server\n10:10 Mini PCIe Woes\n13:23 Using this as a Home Server?\n14:17 Desktop usage with Debian\n15:09 Moonlight for some reason\n15:42 Good memories...", "The PC That Started My Channel", 67, 1021, false, "sHjFfBNyeF4", "https://www.youtube.com/watch?v=sHjFfBNyeF4", "/downloads/Hardware Haven/Season 2026/s2026e053100 - The PC That Started My Channel.mp4", false, ~U[2026-05-31 15:50:04Z]] 03:30:23.593 [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" = ?) [67] 03:30:23.594 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 16:00:32Z], 67] 03:30:23.595 [debug] QUERY OK source="media_items" db=0.8ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Pickup an LTT Precision Multi-bit Kit here! ► https://www.lttstore.com/products/ltt-precision-multi-bit-standard-kit-standard-31-bits?snowball=HH1359&utm_source=snowball&utm_medium=ltt-2026-v2-t1&utm_campaign=HH1359\n_This is an affiliate link, so I receive compensation for completed purchases._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Helpful Links:\n- Bazzite: https://bazzite.gg\n- Pulse Eight Forum Post: Solution: https://universal-blue.discourse.group/t/pulse-eight-hdmi-cec-support/7064\n- My Solutions for USB Wakeup and CEC: https://github.com/hardwarehaven/Video-Notes/blob/main/bazzite%20console%20notes/Bazzite%20Notes.md\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ 8BitDo Controller: https://amzn.to/4f3HIer\n🛍️HDMI CEC-USB Adapter: https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter\n🛍️ DP to HDMI with CEC: https://amzn.to/49RsKVp\n🛍️ Rii Remote (track pad): https://amzn.to/4wGe5GB\n🛍️ Rii Remote (air mouse): https://amzn.to/4dpTBds\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I want to play games\n1:34 My Goals\n4:07 The PC\n5:27 Making it feel like a console\n6:00 Standard Precision Multi-Bit Kit (sponsor)\n8:03 The OS\n9:39 Removing the friction\n10:05 Wake from controller\n11:18 HDMI CEC\n13:14 CEC Issues\n18:11 Goodbye Friction\n19:07 Wife Approval\n19:40 Keyboard & Mouse Alternative\n20:40 Game Streaming\n22:52 Can you build it on a budget?", "I didn't want to buy a console, so I built this.", "f563c5bb-9d43-4bd5-97cf-041855655675", false, 67, [], 1522, false, "ydbsXjZxYBo", "https://www.youtube.com/watch?v=ydbsXjZxYBo", 8, "/downloads/Hardware Haven/Season 2026/s2026e052300 - I didn't want to buy a console, so I built this..mp4", false, false, 98, ~U[2026-05-23 16:00:32Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Pickup an LTT Precision Multi-bit Kit here! ► https://www.lttstore.com/products/ltt-precision-multi-bit-standard-kit-standard-31-bits?snowball=HH1359&utm_source=snowball&utm_medium=ltt-2026-v2-t1&utm_campaign=HH1359\n_This is an affiliate link, so I receive compensation for completed purchases._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Helpful Links:\n- Bazzite: https://bazzite.gg\n- Pulse Eight Forum Post: Solution: https://universal-blue.discourse.group/t/pulse-eight-hdmi-cec-support/7064\n- My Solutions for USB Wakeup and CEC: https://github.com/hardwarehaven/Video-Notes/blob/main/bazzite%20console%20notes/Bazzite%20Notes.md\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ 8BitDo Controller: https://amzn.to/4f3HIer\n🛍️HDMI CEC-USB Adapter: https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter\n🛍️ DP to HDMI with CEC: https://amzn.to/49RsKVp\n🛍️ Rii Remote (track pad): https://amzn.to/4wGe5GB\n🛍️ Rii Remote (air mouse): https://amzn.to/4dpTBds\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I want to play games\n1:34 My Goals\n4:07 The PC\n5:27 Making it feel like a console\n6:00 Standard Precision Multi-Bit Kit (sponsor)\n8:03 The OS\n9:39 Removing the friction\n10:05 Wake from controller\n11:18 HDMI CEC\n13:14 CEC Issues\n18:11 Goodbye Friction\n19:07 Wife Approval\n19:40 Keyboard & Mouse Alternative\n20:40 Game Streaming\n22:52 Can you build it on a budget?", "I didn't want to buy a console, so I built this.", 67, 1522, false, "ydbsXjZxYBo", "https://www.youtube.com/watch?v=ydbsXjZxYBo", "/downloads/Hardware Haven/Season 2026/s2026e052300 - I didn't want to buy a console, so I built this..mp4", false, ~U[2026-05-23 16:00:32Z]] 03:30:23.595 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.596 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 15:55:45Z], 67] 03:30:23.597 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/Wlv760c or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Sliger CX4712: https://www.sliger.com/products/cx4712\n🛍️ Motherboard: https://ebay.us/yMC9hL\n🛍️ CPU: https://ebay.us/ZETy6O\n🛍️ CPU Cooler: https://amzn.to/4dIBtLV\n🛍️ 10G SFP+ NIC: https://amzn.to/4tA5vpY\n🛍️ 120 Fans: https://amzn.to/437yGpr\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n---------------------------------------------------\nTimestamps:\n0:00 Why I'm building a new NAS\n1:26 Which Chassis?\n1:54 Sliger CX4712\n3:35 Monarch Money (sponsor)\n5:01 Other Components\n7:17 Assembly\n9:46 Thoughts on the Sliger case\n10:35 Migrating over from my old NAS\n12:09 The end result", "I Built The NAS I've Always Wanted", "258e52d6-d759-4c15-8062-4ca2e6302de7", false, 67, [], 832, false, "AVLZOCW7v6Y", "https://www.youtube.com/watch?v=AVLZOCW7v6Y", 9, "/downloads/Hardware Haven/Season 2026/s2026e051600 - I Built The NAS I've Always Wanted.mp4", false, false, 98, ~U[2026-05-16 15:55:45Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/Wlv760c or code hh50 for 50% Off Monarch Core tier.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Sliger CX4712: https://www.sliger.com/products/cx4712\n🛍️ Motherboard: https://ebay.us/yMC9hL\n🛍️ CPU: https://ebay.us/ZETy6O\n🛍️ CPU Cooler: https://amzn.to/4dIBtLV\n🛍️ 10G SFP+ NIC: https://amzn.to/4tA5vpY\n🛍️ 120 Fans: https://amzn.to/437yGpr\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"The Butterfly Nose\" - GARRISON\n---------------------------------------------------\nTimestamps:\n0:00 Why I'm building a new NAS\n1:26 Which Chassis?\n1:54 Sliger CX4712\n3:35 Monarch Money (sponsor)\n5:01 Other Components\n7:17 Assembly\n9:46 Thoughts on the Sliger case\n10:35 Migrating over from my old NAS\n12:09 The end result", "I Built The NAS I've Always Wanted", 67, 832, false, "AVLZOCW7v6Y", "https://www.youtube.com/watch?v=AVLZOCW7v6Y", "/downloads/Hardware Haven/Season 2026/s2026e051600 - I Built The NAS I've Always Wanted.mp4", false, ~U[2026-05-16 15:55:45Z]] 03:30:23.597 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.597 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 14:59:31Z], 67] 03:30:23.598 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ V100 SXM2 16G: https://ebay.us/Czmgxx\n🛍️ SXM2 PCIe Adapter (Amazon): https://amzn.to/3PgPOWu\n🛍️ Cheaper SXM2 Adapters on Ebay: https://ebay.us/3GoalM\n🛍️ 80mm Noctua Fan: https://amzn.to/3PaOcxz\n🛍️ Motherboard used for testing: https://amzn.to/4ndEBTd\n\n►Here's the fan shroud model, but seriously, it's not very good:\nhttps://www.printables.com/model/1707084-80mm-fan-shroud-for-nvidia-v100-sxm2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This is the strangest GPU you've ever seen\n0:56 What is SXM?\n2:35 PCIe Adapter\n3:15 Nvidia V100\n4:17 Building my GPU\n4:48 Private Internet Access (sponsor)\n5:49 Test system and booting it up\n6:23 Cooling solution\n8:11 Total cost breakdown\n9:08 Trying out Ollama\n10:11 RTX 3060 12G Comparison\n10:57 My rudimentary benchmark results\n13:12 Trying out Frigate NVR\n15:06 Future plans with this GPU\n15:40 Some other SXM adapters\n16:28 Trying to stay positive", "This Ridiculous $200 AI GPU Shouldn’t Be This Good", "773e9584-378f-43bf-9307-3ede56b76fe3", false, 67, [], 1072, false, "7DAPd5MGodY", "https://www.youtube.com/watch?v=7DAPd5MGodY", 10, "/downloads/Hardware Haven/Season 2026/s2026e050300 - This Ridiculous $200 AI GPU Shouldn’t Be This Good.mp4", false, false, 98, ~U[2026-05-03 14:59:31Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ V100 SXM2 16G: https://ebay.us/Czmgxx\n🛍️ SXM2 PCIe Adapter (Amazon): https://amzn.to/3PgPOWu\n🛍️ Cheaper SXM2 Adapters on Ebay: https://ebay.us/3GoalM\n🛍️ 80mm Noctua Fan: https://amzn.to/3PaOcxz\n🛍️ Motherboard used for testing: https://amzn.to/4ndEBTd\n\n►Here's the fan shroud model, but seriously, it's not very good:\nhttps://www.printables.com/model/1707084-80mm-fan-shroud-for-nvidia-v100-sxm2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 This is the strangest GPU you've ever seen\n0:56 What is SXM?\n2:35 PCIe Adapter\n3:15 Nvidia V100\n4:17 Building my GPU\n4:48 Private Internet Access (sponsor)\n5:49 Test system and booting it up\n6:23 Cooling solution\n8:11 Total cost breakdown\n9:08 Trying out Ollama\n10:11 RTX 3060 12G Comparison\n10:57 My rudimentary benchmark results\n13:12 Trying out Frigate NVR\n15:06 Future plans with this GPU\n15:40 Some other SXM adapters\n16:28 Trying to stay positive", "This Ridiculous $200 AI GPU Shouldn’t Be This Good", 67, 1072, false, "7DAPd5MGodY", "https://www.youtube.com/watch?v=7DAPd5MGodY", "/downloads/Hardware Haven/Season 2026/s2026e050300 - This Ridiculous $200 AI GPU Shouldn’t Be This Good.mp4", false, ~U[2026-05-03 14:59:31Z]] 03:30:23.599 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.599 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-24 19:28:11Z], 67] 03:30:23.600 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks as always!", "Behind the Scenes - Lots and lots of projects!", "fc21ccd1-db7e-4433-8d8f-a20421e10d34", false, 67, [], 634, false, "sLcbCKTU5Ig", "https://www.youtube.com/watch?v=sLcbCKTU5Ig", 11, "/downloads/Hardware Haven/Season 2026/s2026e042400 - Behind the Scenes - Lots and lots of projects!.NA", false, false, 98, ~U[2026-04-24 19:28:11Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks as always!", "Behind the Scenes - Lots and lots of projects!", 67, 634, false, "sLcbCKTU5Ig", "https://www.youtube.com/watch?v=sLcbCKTU5Ig", "/downloads/Hardware Haven/Season 2026/s2026e042400 - Behind the Scenes - Lots and lots of projects!.NA", false, ~U[2026-04-24 19:28:11Z]] 03:30:23.600 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.601 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 15:28:43Z], 67] 03:30:23.602 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nEdit: Thanks to all the responses! That \"mystery\" slot is definitely a compact flash slot, haha. This seems to be a case of overthinking things 🤦\u200D♂️\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Thanks to @jeffgeerling for the intro!\n Checkout his Pi NVR: https://www.youtube.com/watch?v=2LayXUxMjPU \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Razberi on eBay: https://ebay.us/t04Gs7\n🛍️ Patch Cables: https://amzn.to/4cy8fxJ\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n\"Town Groove\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 A Dumb Cold Open\n0:46 What I Actually Bought\n2:32 My VPN, PIA (sponsor)\n3:43 External IO and Tear-down\n5:41 First Boot\n6:49 Tear-down Cont.\n8:58 Quick Upgrades and Debian\n9:16 Networking\n11:04 Geekbench\n12:26 Power Draw, Temps, Fan Noise\n13:18 PCIe Slot and RAID\n15:28 NVR with Frigate\n18:28 Thoughts", "What the heck IS this thing?", "bd124c44-72de-48d6-9206-59821bff830d", false, 67, [], 1180, false, "QC6A7xiBi3s", "https://www.youtube.com/watch?v=QC6A7xiBi3s", 12, "/downloads/Hardware Haven/Season 2026/s2026e041800 - What the heck IS this thing?.mp4", false, false, 98, ~U[2026-04-18 15:28:43Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nEdit: Thanks to all the responses! That \"mystery\" slot is definitely a compact flash slot, haha. This seems to be a case of overthinking things 🤦\u200D♂️\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\n► Thanks to @jeffgeerling for the intro!\n Checkout his Pi NVR: https://www.youtube.com/watch?v=2LayXUxMjPU \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Razberi on eBay: https://ebay.us/t04Gs7\n🛍️ Patch Cables: https://amzn.to/4cy8fxJ\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n\"Town Groove\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 A Dumb Cold Open\n0:46 What I Actually Bought\n2:32 My VPN, PIA (sponsor)\n3:43 External IO and Tear-down\n5:41 First Boot\n6:49 Tear-down Cont.\n8:58 Quick Upgrades and Debian\n9:16 Networking\n11:04 Geekbench\n12:26 Power Draw, Temps, Fan Noise\n13:18 PCIe Slot and RAID\n15:28 NVR with Frigate\n18:28 Thoughts", "What the heck IS this thing?", 67, 1180, false, "QC6A7xiBi3s", "https://www.youtube.com/watch?v=QC6A7xiBi3s", "/downloads/Hardware Haven/Season 2026/s2026e041800 - What the heck IS this thing?.mp4", false, ~U[2026-04-18 15:28:43Z]] 03:30:23.602 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.603 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 15:30:02Z], 67] 03:30:23.605 [debug] QUERY OK source="media_items" db=2.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \nModels and Resources: \n- Drive Bay 3D Model: https://www.printables.com/model/1290788-10-inch-rack-1u-2-x-35-inch-hdd-hot-swap\n- KVM and Keystone Mount: https://www.printables.com/model/1179328-jetkvm-10-inch-rack-mount-with-keystone-slots\n- Lab Rax 120mm Fan Side Panel: https://www.printables.com/model/1663721-lab-rax-120mm-fan-side-panel\n- Drive Bay Cover: https://www.printables.com/model/1663733-cover-for-2x-10-inch-rack-1u\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ X11SSV-Q: https://ebay.us/ihAyPy\n🛍️ Thermalright Cooler: https://amzn.to/3NUhksl\n🛍️ 2.5G PCIe Adapter: https://amzn.to/3OfPCGB\n🛍️ 350W 19V PSU: https://amzn.to/41Lgh0W\n🛍️ Slim 120mm Fans: https://amzn.to/4ckUV0B\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mm\n🛍️ Yellow LED Power Button: https://amzn.to/48xFtvI\n🛍️ JetKVM: https://www.wisdpi.com/products/jetkvm\n🛍️ CAT6 Patch Cables: https://amzn.to/3NGvbT6\n🛍️ USB-C Keystone: https://amzn.to/481loxV\n\nMy 3D Printers: \n🛍️ Bambu Lab A1Mini: https://tidd.ly/4tsoljd\n🛍️ Bambu Lab X1CC: https://tidd.ly/4sRm94H\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Fender Bender\" - @badsnacks\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My Little Backup Server\n0:41 Why did I make this?\n1:55 The plan\n4:07 Designing parts with Onshape (Sponsor)\n5:34 PC Hardware\n8:03 3D Printed Parts\n10:23 Testing the system (attempt 1)\n11:16 Testing the system (attempt 2)\n11:35 Assembling everything\n13:55 Software Config\n19:28 Thoughts", "I back up EVERYTHING to this.", "84070e6c-bf10-4636-8d54-06205abf4405", false, 67, [], 1299, false, "IN9jr1VbwZM", "https://www.youtube.com/watch?v=IN9jr1VbwZM", 13, "/downloads/Hardware Haven/Season 2026/s2026e040400 - I back up EVERYTHING to this..mp4", false, false, 98, ~U[2026-04-04 15:30:02Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Engineers Get Up to 6 Months of Free Onshape Professional Access. Check out https://onshape.pro/HardwareHaven!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \nModels and Resources: \n- Drive Bay 3D Model: https://www.printables.com/model/1290788-10-inch-rack-1u-2-x-35-inch-hdd-hot-swap\n- KVM and Keystone Mount: https://www.printables.com/model/1179328-jetkvm-10-inch-rack-mount-with-keystone-slots\n- Lab Rax 120mm Fan Side Panel: https://www.printables.com/model/1663721-lab-rax-120mm-fan-side-panel\n- Drive Bay Cover: https://www.printables.com/model/1663733-cover-for-2x-10-inch-rack-1u\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ X11SSV-Q: https://ebay.us/ihAyPy\n🛍️ Thermalright Cooler: https://amzn.to/3NUhksl\n🛍️ 2.5G PCIe Adapter: https://amzn.to/3OfPCGB\n🛍️ 350W 19V PSU: https://amzn.to/41Lgh0W\n🛍️ Slim 120mm Fans: https://amzn.to/4ckUV0B\n🛍️ 3DFuel PCTG (USE CODE HARDWAREHAVEN for 10%OFF): https://www.3dfuel.com/products/pro-pctg-matte-black-1-75mm\n🛍️ Yellow LED Power Button: https://amzn.to/48xFtvI\n🛍️ JetKVM: https://www.wisdpi.com/products/jetkvm\n🛍️ CAT6 Patch Cables: https://amzn.to/3NGvbT6\n🛍️ USB-C Keystone: https://amzn.to/481loxV\n\nMy 3D Printers: \n🛍️ Bambu Lab A1Mini: https://tidd.ly/4tsoljd\n🛍️ Bambu Lab X1CC: https://tidd.ly/4sRm94H\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Fender Bender\" - @badsnacks\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My Little Backup Server\n0:41 Why did I make this?\n1:55 The plan\n4:07 Designing parts with Onshape (Sponsor)\n5:34 PC Hardware\n8:03 3D Printed Parts\n10:23 Testing the system (attempt 1)\n11:16 Testing the system (attempt 2)\n11:35 Assembling everything\n13:55 Software Config\n19:28 Thoughts", "I back up EVERYTHING to this.", 67, 1299, false, "IN9jr1VbwZM", "https://www.youtube.com/watch?v=IN9jr1VbwZM", "/downloads/Hardware Haven/Season 2026/s2026e040400 - I back up EVERYTHING to this..mp4", false, ~U[2026-04-04 15:30:02Z]] 03:30:23.606 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.606 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 15:29:55Z], 67] 03:30:23.608 [debug] QUERY OK source="media_items" db=0.9ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/DvtN7fc or code hh50.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Waterhose to HDMI model: https://www.printables.com/model/88128-garden-hose-to-hdmi-adapter\n\n► Archived copy of the Marsis E1 Driver (Thanks to Dave): https://web.archive.org/web/20260323010918/https://sealevel.info/Marsis_M2_Type_E_Windows_Driver.zip\n\n► Learn More About 8311: https://pon.wiki\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ M.2 10G: https://amzn.to/4srleba\n🛍️ SATA Power Selector: https://amzn.to/40HmNpd\n🛍️ NVMe Swap: https://amzn.to/4uJBA0k\n🛍️ M.2 E HDMI Capture: https://marsis.tv/products/marsis-e1-full-hd-m-2-capture-card?srsltid=AfmBOordlnzLa41vW6LXlAWY78292aUyYYmQfI55htoSecW3jWk1GSAy\n🛍️ M.2 E SSD: https://amzn.to/47HTvKU\n🛍️ XGSPON: https://amzn.to/4sltk4V\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 More Goofy Adapters\n0:52 Adapter 1\n2:42 Adapter 2\n3:22 Monarch Money (Sponsor)\n5:10 Adapter 3\n7:03 Honorable Mention - NVMe Hot Swap\n8:07 Adapter 4\n11:27 Adapter 5 ...sort of\n13:24 Adapter 6\n17:13 I NEED MORE", "I Just Can’t Stop Buying These Adapters", "0e12a9a3-027a-4542-b5d5-3f25807e3945", false, 67, [], 1074, false, "G7ru4h4Zi-w", "https://www.youtube.com/watch?v=G7ru4h4Zi-w", 14, "/downloads/Hardware Haven/Season 2026/s2026e032200 - I Just Can’t Stop Buying These Adapters.mp4", false, false, 98, ~U[2026-03-22 15:29:55Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Thanks to Monarch for partnering with me! Start your free trial and get 50% off your first year of total money clarity using my link https://monarchmoney.yt.link/DvtN7fc or code hh50.\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Waterhose to HDMI model: https://www.printables.com/model/88128-garden-hose-to-hdmi-adapter\n\n► Archived copy of the Marsis E1 Driver (Thanks to Dave): https://web.archive.org/web/20260323010918/https://sealevel.info/Marsis_M2_Type_E_Windows_Driver.zip\n\n► Learn More About 8311: https://pon.wiki\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ M.2 10G: https://amzn.to/4srleba\n🛍️ SATA Power Selector: https://amzn.to/40HmNpd\n🛍️ NVMe Swap: https://amzn.to/4uJBA0k\n🛍️ M.2 E HDMI Capture: https://marsis.tv/products/marsis-e1-full-hd-m-2-capture-card?srsltid=AfmBOordlnzLa41vW6LXlAWY78292aUyYYmQfI55htoSecW3jWk1GSAy\n🛍️ M.2 E SSD: https://amzn.to/47HTvKU\n🛍️ XGSPON: https://amzn.to/4sltk4V\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 More Goofy Adapters\n0:52 Adapter 1\n2:42 Adapter 2\n3:22 Monarch Money (Sponsor)\n5:10 Adapter 3\n7:03 Honorable Mention - NVMe Hot Swap\n8:07 Adapter 4\n11:27 Adapter 5 ...sort of\n13:24 Adapter 6\n17:13 I NEED MORE", "I Just Can’t Stop Buying These Adapters", 67, 1074, false, "G7ru4h4Zi-w", "https://www.youtube.com/watch?v=G7ru4h4Zi-w", "/downloads/Hardware Haven/Season 2026/s2026e032200 - I Just Can’t Stop Buying These Adapters.mp4", false, ~U[2026-03-22 15:29:55Z]] 03:30:23.608 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.608 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-07 16:01:48Z], 67] 03:30:23.610 [debug] QUERY OK source="media_items" db=0.9ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Use code HARDWAREHAVENFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/3ZgtL3D!\n\n_Sorry for the poor audio quality at times. I'm still getting used to some new workflows._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Useful Links: \n- Frigate Docs: https://docs.frigate.video/ \n- Compiling Coral Driver: https://www.reddit.com/r/frigate_nvr/comments/1km57vu/coral_tpu_installation_for_ubuntu_2504/\n_*NOTE: when following these instructions for Debian 13, ignore the `MODULE_IMPORT_NS(DMA_BUF)` step.*_\n- Reolink specific settings: https://www.reddit.com/r/frigate_nvr/comments/1hnjvua/example_config_for_reolink_cameras/ \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Reolink RLC-510a: https://reolink.com/product/rlc-510a/?aff=301\n🛍️ Reolink Duo 3 PoE: https://reolink.com/us/product/reolink-duo-3-poe/?aff=301\n🛍️ Reolink Doorbell: https://reolink.com/us/product/reolink-video-doorbell-wifi/?aff=301\n🛍️ 10-Port PoE Switch: https://ebay.us/TWmU38\n🛍️ 120W Power Suuply: https://amzn.to/4rbRDkn\n🛍️ Cat5e (fight me): https://amzn.to/3MNEgZT\n🛍️ LincStation N2: https://amzn.to/4rjAMfR\n🛍️ Coral Accelerator: https://amzn.to/40Seoz2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Wallflowers\" - @badsnacks\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Why I like having my own cameras\n0:36 The cameras I chose\n2:58 Doorbell\n3:43 Networking\n6:12 Lunch, thanks to Factor (sponsor)\n7:50 Powering the switch\n8:52 Setting up camera number 1\n10:46 Cat5e vs Cat6 Rant\n11:39 Setting up camera number 1 cont\n13:15 More Cameras plus Home Assistant\n14:15 Deciding on an NVR\n15:34 Frigate Setup and Install\n20:00 Some more Home Assistant\n20:56 My experience with Frigate\n25:15 I'm very happy with this setup", "My New Local-Only Security Camera Setup", "2db02610-e623-4fa3-8d66-4239f1efecf3", false, 67, [], 1584, false, "O3Zx8WVW1MA", "https://www.youtube.com/watch?v=O3Zx8WVW1MA", 15, "/downloads/Hardware Haven/Season 2026/s2026e030700 - My New Local-Only Security Camera Setup.mp4", false, false, 98, ~U[2026-03-07 16:01:48Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Use code HARDWAREHAVENFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/3ZgtL3D!\n\n_Sorry for the poor audio quality at times. I'm still getting used to some new workflows._\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Useful Links: \n- Frigate Docs: https://docs.frigate.video/ \n- Compiling Coral Driver: https://www.reddit.com/r/frigate_nvr/comments/1km57vu/coral_tpu_installation_for_ubuntu_2504/\n_*NOTE: when following these instructions for Debian 13, ignore the `MODULE_IMPORT_NS(DMA_BUF)` step.*_\n- Reolink specific settings: https://www.reddit.com/r/frigate_nvr/comments/1hnjvua/example_config_for_reolink_cameras/ \n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Reolink RLC-510a: https://reolink.com/product/rlc-510a/?aff=301\n🛍️ Reolink Duo 3 PoE: https://reolink.com/us/product/reolink-duo-3-poe/?aff=301\n🛍️ Reolink Doorbell: https://reolink.com/us/product/reolink-video-doorbell-wifi/?aff=301\n🛍️ 10-Port PoE Switch: https://ebay.us/TWmU38\n🛍️ 120W Power Suuply: https://amzn.to/4rbRDkn\n🛍️ Cat5e (fight me): https://amzn.to/3MNEgZT\n🛍️ LincStation N2: https://amzn.to/4rjAMfR\n🛍️ Coral Accelerator: https://amzn.to/40Seoz2\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Wallflowers\" - @badsnacks\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Why I like having my own cameras\n0:36 The cameras I chose\n2:58 Doorbell\n3:43 Networking\n6:12 Lunch, thanks to Factor (sponsor)\n7:50 Powering the switch\n8:52 Setting up camera number 1\n10:46 Cat5e vs Cat6 Rant\n11:39 Setting up camera number 1 cont\n13:15 More Cameras plus Home Assistant\n14:15 Deciding on an NVR\n15:34 Frigate Setup and Install\n20:00 Some more Home Assistant\n20:56 My experience with Frigate\n25:15 I'm very happy with this setup", "My New Local-Only Security Camera Setup", 67, 1584, false, "O3Zx8WVW1MA", "https://www.youtube.com/watch?v=O3Zx8WVW1MA", "/downloads/Hardware Haven/Season 2026/s2026e030700 - My New Local-Only Security Camera Setup.mp4", false, ~U[2026-03-07 16:01:48Z]] 03:30:23.610 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.611 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 16:58:57Z], 67] 03:30:23.613 [debug] QUERY OK source="media_items" db=1.3ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\nModel Links:\n- Mod 10 Rack: https://www.printables.com/model/1225275-modular-10-server-rack-mod10\n- HP Mini Rackmount: https://www.printables.com/model/585091-10-inch-rackmount-for-mini-hp-prodesk-elitedesk-g1/related\n- Tenda Switch Rackmount: https://www.printables.com/model/1274536-10-inch-rack-mount-for-tenda-25-gbit-switch-tem201\n- Patch Panel: https://www.printables.com/model/142384-10-rack-patch-panel\n- Vent Panel: https://www.printables.com/model/1372741-1-3u-10-inch-rack-mount-blank-panel-with-voronoi-p\n\nUseful Links:\n- Qolsys Integration: https://github.com/EHylands/ha-qolsys-panel\n- Great HA Dashboard Ideas: https://www.youtube.com/watch?v=b9oUjXYMNII&t=1356s\n- Awesome Home Assistant Videos: https://www.youtube.com/@EverythingSmartHome/videos\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ HA Connect ZWA-2: https://www.home-assistant.io/connect/zwa-2/\n🛍️ HA Connect ZBT-2: www.home-assistant.io/connect/zbt-2/\n🛍️ Tenda 10G/2.5G Switch: https://amzn.to/4cDNNgi\n🛍️ Zooz Switches: https://www.thesmartesthouse.com/collections/light-switches\n🛍️ Embrighten Switch: https://amzn.to/3MH2u7K\n🛍️ 4-Btn Z Wave Controller: https://amzn.to/4c7vbVP\n🛍️ Third Reality Devices: https://amzn.to/4aIBbCd\n🛍️ RATGDO: https://ratcloud.llc/\n🛍️ Tilt Sensor: https://amzn.to/4b1duX0\n🛍️ Zigbee Relay: https://amzn.to/4rwmARv\n🛍️ Door Sensor: https://amzn.to/4tPcPiC\n🛍️ Temp/Humidity Sensor: https://amzn.to/4kL5MDC\n🛍️ Vibration Sensor: https://amzn.to/4aulyPV\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My More Smarter Smart Home\n0:50 Private Internet Access (Sponsor)\n1:51 Previous mistakes and new goals\n2:45 Hardware\n6:51 Switches\n9:13 Zigbee Devices\n10:05 Alarm Panel\n12:02 Garage Door\n15:44 My Current Dashboard\n17:24 Helpful Automations and Scripts", "I Finally Built the Smart Home of My Dreams", "2f8598de-de0b-4cce-ba86-c02fe4730260", false, 67, [], 1363, false, "rWjUhu-OSVg", "https://www.youtube.com/watch?v=rWjUhu-OSVg", 16, "/downloads/Hardware Haven/Season 2026/s2026e022200 - I Finally Built the Smart Home of My Dreams.mp4", false, false, 98, ~U[2026-02-22 16:58:57Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n\nModel Links:\n- Mod 10 Rack: https://www.printables.com/model/1225275-modular-10-server-rack-mod10\n- HP Mini Rackmount: https://www.printables.com/model/585091-10-inch-rackmount-for-mini-hp-prodesk-elitedesk-g1/related\n- Tenda Switch Rackmount: https://www.printables.com/model/1274536-10-inch-rack-mount-for-tenda-25-gbit-switch-tem201\n- Patch Panel: https://www.printables.com/model/142384-10-rack-patch-panel\n- Vent Panel: https://www.printables.com/model/1372741-1-3u-10-inch-rack-mount-blank-panel-with-voronoi-p\n\nUseful Links:\n- Qolsys Integration: https://github.com/EHylands/ha-qolsys-panel\n- Great HA Dashboard Ideas: https://www.youtube.com/watch?v=b9oUjXYMNII&t=1356s\n- Awesome Home Assistant Videos: https://www.youtube.com/@EverythingSmartHome/videos\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ HA Connect ZWA-2: https://www.home-assistant.io/connect/zwa-2/\n🛍️ HA Connect ZBT-2: www.home-assistant.io/connect/zbt-2/\n🛍️ Tenda 10G/2.5G Switch: https://amzn.to/4cDNNgi\n🛍️ Zooz Switches: https://www.thesmartesthouse.com/collections/light-switches\n🛍️ Embrighten Switch: https://amzn.to/3MH2u7K\n🛍️ 4-Btn Z Wave Controller: https://amzn.to/4c7vbVP\n🛍️ Third Reality Devices: https://amzn.to/4aIBbCd\n🛍️ RATGDO: https://ratcloud.llc/\n🛍️ Tilt Sensor: https://amzn.to/4b1duX0\n🛍️ Zigbee Relay: https://amzn.to/4rwmARv\n🛍️ Door Sensor: https://amzn.to/4tPcPiC\n🛍️ Temp/Humidity Sensor: https://amzn.to/4kL5MDC\n🛍️ Vibration Sensor: https://amzn.to/4aulyPV\n---------------------------------------------------\nMusic (in order):\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"The Butterfly Nose\" - GARRISON\n\"If You Want To\" - Me\n---------------------------------------------------\nTimestamps:\n0:00 My More Smarter Smart Home\n0:50 Private Internet Access (Sponsor)\n1:51 Previous mistakes and new goals\n2:45 Hardware\n6:51 Switches\n9:13 Zigbee Devices\n10:05 Alarm Panel\n12:02 Garage Door\n15:44 My Current Dashboard\n17:24 Helpful Automations and Scripts", "I Finally Built the Smart Home of My Dreams", 67, 1363, false, "rWjUhu-OSVg", "https://www.youtube.com/watch?v=rWjUhu-OSVg", "/downloads/Hardware Haven/Season 2026/s2026e022200 - I Finally Built the Smart Home of My Dreams.mp4", false, ~U[2026-02-22 16:58:57Z]] 03:30:23.613 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.614 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 19:45:35Z], 67] 03:30:23.615 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["RAID Behind the Scenes - Painting and more...", "5cdb9046-cba7-4d29-92ab-b905e415ae5a", false, 67, [], 402, false, "bq1j05pcZpI", "https://www.youtube.com/watch?v=bq1j05pcZpI", 17, "/downloads/Hardware Haven/Season 2026/s2026e021700 - RAID Behind the Scenes - Painting and more....NA", false, false, 98, ~U[2026-02-17 19:45:35Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "", "RAID Behind the Scenes - Painting and more...", 67, 402, false, "bq1j05pcZpI", "https://www.youtube.com/watch?v=bq1j05pcZpI", "/downloads/Hardware Haven/Season 2026/s2026e021700 - RAID Behind the Scenes - Painting and more....NA", false, ~U[2026-02-17 19:45:35Z]] 03:30:23.615 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.615 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 16:03:44Z], 67] 03:30:23.616 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Long Fiber Patch Cables: https://www.fs.com/products/40204.html\n🛍️ Short Fiber Patch Cables: https://amzn.to/4tD2ZAk\n🛍️ SFP+ Transceivers: https://amzn.to/4aPURFj\n🛍️ Unmanaged 10G/2.5G Switch: https://amzn.to/4kCeq7u\n🛍️ Mikrotik 10G/2.5G Switch: https://amzn.to/4kyX5w1\n🛍️ Riveco 15U Rack: https://amzn.to/4tCnzku\n🛍️TP Link 2.5Gb PoE Switch: https://amzn.to/4aQWFxK\n🛍️TP Link AP: https://amzn.to/3MB7VVI\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"The Butterfly Nose\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Town Groove\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I Moved!\n1:04 The Plan for Today\n1:46 Cable Runs\n5:40 New Rack\n8:18 IT'S WORKING\n9:44 New Firewall Setup\n11:55 OPNSense Config Overview\n14:15 Upcoming Projects", "Building Out My New Network", "9efcd716-7536-49ca-ae13-e3e71d6fffe4", false, 67, [], 930, false, "5xVNyS6HWoY", "https://www.youtube.com/watch?v=5xVNyS6HWoY", 18, "/downloads/Hardware Haven/Season 2026/s2026e021500 - Building Out My New Network.mp4", false, false, 98, ~U[2026-02-15 16:03:44Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ Long Fiber Patch Cables: https://www.fs.com/products/40204.html\n🛍️ Short Fiber Patch Cables: https://amzn.to/4tD2ZAk\n🛍️ SFP+ Transceivers: https://amzn.to/4aPURFj\n🛍️ Unmanaged 10G/2.5G Switch: https://amzn.to/4kCeq7u\n🛍️ Mikrotik 10G/2.5G Switch: https://amzn.to/4kyX5w1\n🛍️ Riveco 15U Rack: https://amzn.to/4tCnzku\n🛍️TP Link 2.5Gb PoE Switch: https://amzn.to/4aQWFxK\n🛍️TP Link AP: https://amzn.to/3MB7VVI\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"The Butterfly Nose\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"Town Groove\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 I Moved!\n1:04 The Plan for Today\n1:46 Cable Runs\n5:40 New Rack\n8:18 IT'S WORKING\n9:44 New Firewall Setup\n11:55 OPNSense Config Overview\n14:15 Upcoming Projects", "Building Out My New Network", 67, 930, false, "5xVNyS6HWoY", "https://www.youtube.com/watch?v=5xVNyS6HWoY", "/downloads/Hardware Haven/Season 2026/s2026e021500 - Building Out My New Network.mp4", false, ~U[2026-02-15 16:03:44Z]] 03:30:23.617 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.617 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 16:00:42Z], 67] 03:30:23.618 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► LincStation N2: https://www.lincplustech.com/products/lincstation-n2-network-attached-storage\n\n► Helpful Links:\n- Install TrueNAS to eMMC: https://forums.truenas.com/t/reinstallation-of-truenas-fails-error-cant-find-partition-2-on-mmcblk0/49432/15\n- Front LEDs Daemon: https://github.com/fazalmajid/lincstation_leds\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ LincStation N2: https://amzn.to/4qNecgd\n🛍️ Kill-a-Watt: https://amzn.to/3AkxrIR \n🛍️ Crucial 1TB NVMe SSD: https://amzn.to/4jJsk6T\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:51 The LincStation N2\n1:55 Private internet Access (Sponsor)\n2:43 Design, Specs, and I O\n5:36 First Boot and Unraid\n6:04 The BIGGEST Issue with the N2\n7:58 TrueNAS and eMMC\n10:01 Idle Power Draw\n11:12 Geekbench 6\n11:46 Jellyfin and Crafty Controller\n12:26 Fan Noise and CPU Temps\n12:54 Teardown\n14:20 A Good Value?", "This might be my favorite new mini server...", "bfa9eef0-97b0-462a-85f7-2dc457ed5a60", false, 67, [], 986, false, "5oQ_vnjgBjY", "https://www.youtube.com/watch?v=5oQ_vnjgBjY", 19, "/downloads/Hardware Haven/Season 2026/s2026e012400 - This might be my favorite new mini server....mp4", false, false, 98, ~U[2026-01-24 16:00:42Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "Go to https://www.piavpn.com/HardwareHaven to get 83% off from our sponsor Private Internet Access with 4 months free!\n\n► Want to support the channel and unlock some perks in the process? \nBecome a RAID member on Patreon or YouTube!\n🔓 Patreon: https://www.patreon.com/hardwarehaven\n🔓 YouTube: https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ/join\n \n► LincStation N2: https://www.lincplustech.com/products/lincstation-n2-network-attached-storage\n\n► Helpful Links:\n- Install TrueNAS to eMMC: https://forums.truenas.com/t/reinstallation-of-truenas-fails-error-cant-find-partition-2-on-mmcblk0/49432/15\n- Front LEDs Daemon: https://github.com/fazalmajid/lincstation_leds\n\n► Checkout items I used (includes affiliate links from which I may receive compensation):\n🛍️ LincStation N2: https://amzn.to/4qNecgd\n🛍️ Kill-a-Watt: https://amzn.to/3AkxrIR \n🛍️ Crucial 1TB NVMe SSD: https://amzn.to/4jJsk6T\n\n🎥 Curious About the equipment I use to make my videos? \nClick Here ► https://hardwarehaven.media/gear\n---------------------------------------------------\nMusic (in order):\n\"CRENSHAW VIBES\" - GARRISON (https://soundcloud.com/garrison-brown)\n\"Sunshower\" - LATASHÁ(https://soundcloud.com/best-music-pro...)\n\"If You Want To\" - Me\n\"Hardware Haven Theme\" -Me (https://youtu.be/FwD2mOYDPNA)\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:51 The LincStation N2\n1:55 Private internet Access (Sponsor)\n2:43 Design, Specs, and I O\n5:36 First Boot and Unraid\n6:04 The BIGGEST Issue with the N2\n7:58 TrueNAS and eMMC\n10:01 Idle Power Draw\n11:12 Geekbench 6\n11:46 Jellyfin and Crafty Controller\n12:26 Fan Noise and CPU Temps\n12:54 Teardown\n14:20 A Good Value?", "This might be my favorite new mini server...", 67, 986, false, "5oQ_vnjgBjY", "https://www.youtube.com/watch?v=5oQ_vnjgBjY", "/downloads/Hardware Haven/Season 2026/s2026e012400 - This might be my favorite new mini server....mp4", false, ~U[2026-01-24 16:00:42Z]] 03:30:23.619 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.619 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 15:58:30Z], 67] 03:30:23.629 [debug] QUERY OK source="media_items" db=9.9ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["*Edit: I meant for the original thumbnail to be a bit of a joke, but clearly some people thought it was manipulative. My bad... 😅*\n\nThanks for watching and helping support this new adventure!", "Channel Update — I'm moving!", "61f85073-edcb-4511-b8ac-3cae3b9e515c", false, 67, [], 417, false, "79q_7CH40bk", "https://www.youtube.com/watch?v=79q_7CH40bk", 20, "/downloads/Hardware Haven/Season 2026/s2026e011800 - Channel Update — I'm moving!.mp4", false, false, 98, ~U[2026-01-18 15:58:30Z], ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], "*Edit: I meant for the original thumbnail to be a bit of a joke, but clearly some people thought it was manipulative. My bad... 😅*\n\nThanks for watching and helping support this new adventure!", "Channel Update — I'm moving!", 67, 417, false, "79q_7CH40bk", "https://www.youtube.com/watch?v=79q_7CH40bk", "/downloads/Hardware Haven/Season 2026/s2026e011800 - Channel Update — I'm moving!.mp4", false, ~U[2026-01-18 15:58:30Z]] 03:30:23.630 [debug] QUERY OK source="sources" db=0.1ms idle=12.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z], 67] 03:30:23.630 [debug] QUERY OK source="media_items" db=0.5ms idle=11.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [67] 03:30:23.632 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133813, 3858457, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.633 [debug] QUERY OK source="tasks" db=0.2ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133814, 4028854, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.634 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133815, 4656326, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.635 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133816, 4896176, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.636 [debug] QUERY OK source="tasks" db=0.1ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133817, 5041249, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.638 [info] {"args":{"id":3858457},"id":133813,"meta":{},"system_time":1785893423638217896,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:23.638 [info] {"args":{"id":4028854},"id":133814,"meta":{},"system_time":1785893423638250421,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:23.638 [debug] QUERY OK source="media_items" db=0.1ms idle=1.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3858457] 03:30:23.638 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4028854] 03:30:23.638 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:23.638 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:23.639 [debug] QUERY OK source="sources" db=0.3ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.639 [debug] QUERY OK source="sources" db=0.3ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:23.639 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:23.639 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:23.639 [debug] QUERY OK source="tasks" db=0.2ms idle=0.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133818, 5160454, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.640 [debug] QUERY OK source="media_items" db=0.4ms idle=0.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4028854] 03:30:23.640 [debug] QUERY OK source="media_items" db=0.6ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3858457] 03:30:23.640 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4028854] 03:30:23.641 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=1.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3858457] 03:30:23.641 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:23.641 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:23.641 [debug] QUERY OK source="tasks" db=0.1ms idle=0.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133819, 5218171, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.641 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.642 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.642 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.642 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.642 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:23.642 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:23.642 [debug] QUERY OK source="media_items" db=0.6ms idle=0.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [67] 03:30:23.642 [debug] QUERY OK source="media_items" db=0.1ms idle=0.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [67] 03:30:23.642 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.642 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.643 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.643 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.643 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.643 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G-GyU8mjWOY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/60/8e604724b652c1b0219221846e9c0230a910fbfe08a964085ec7b0ff08ad2b17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:23.643 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:23.643 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JBXCpQH4Mas --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/00/3600b0e76ccac53c7f7f89bea25bc3d11f4d651f2130373de798b757992b4148.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:23.644 [debug] QUERY OK source="tasks" db=0.1ms idle=0.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133820, 67, ~U[2026-08-05 01:30:23Z], ~U[2026-08-05 01:30:23Z]] 03:30:23.644 [info] {"args":{"id":67},"id":133316,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":25978106,"event":"job:stop","queue_time":1405945,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:30:25.489 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JBXCpQH4Mas --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/00/3600b0e76ccac53c7f7f89bea25bc3d11f4d651f2130373de798b757992b4148.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] JBXCpQH4Mas: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] JBXCpQH4Mas: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:25.489 [error] yt-dlp download error for media item #3858457: "WARNING: [youtube] JBXCpQH4Mas: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] JBXCpQH4Mas: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:25.489 [error] yt-dlp download will not be retried: "WARNING: [youtube] JBXCpQH4Mas: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] JBXCpQH4Mas: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:25.489 [info] {"args":{"id":3858457},"id":133813,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1851156,"event":"job:stop","queue_time":637297,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:25.496 [info] {"args":{"id":4656326},"id":133815,"meta":{},"system_time":1785893425495938336,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:25.496 [debug] QUERY OK source="media_items" db=0.1ms idle=720.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4656326] 03:30:25.496 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:25.496 [debug] QUERY OK source="sources" db=0.1ms idle=721.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:25.496 [debug] QUERY OK source="media_profiles" db=0.1ms idle=565.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:25.497 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4656326] 03:30:25.506 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4656326] 03:30:25.507 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:25.507 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.507 [debug] QUERY OK source="settings" db=0.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.507 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:25.507 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.507 [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 [] 03:30:25.508 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bq1j05pcZpI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/37/3d375623f56b075671117768eb81a04175abd6ef680be1604abd9c5b67b793fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:25.771 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G-GyU8mjWOY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/60/8e604724b652c1b0219221846e9c0230a910fbfe08a964085ec7b0ff08ad2b17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] G-GyU8mjWOY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] G-GyU8mjWOY: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:25.771 [error] yt-dlp download error for media item #4028854: "WARNING: [youtube] G-GyU8mjWOY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] G-GyU8mjWOY: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:25.771 [error] yt-dlp download will not be retried: "WARNING: [youtube] G-GyU8mjWOY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] G-GyU8mjWOY: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:25.772 [info] {"args":{"id":4028854},"id":133814,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2133626,"event":"job:stop","queue_time":637297,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:25.779 [info] {"args":{"id":4896176},"id":133816,"meta":{},"system_time":1785893425778998738,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:25.779 [debug] QUERY OK source="media_items" db=0.1ms idle=271.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4896176] 03:30:25.779 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:25.779 [debug] QUERY OK source="sources" db=0.1ms idle=271.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:25.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=271.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:25.780 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4896176] 03:30:25.781 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4896176] 03:30:25.781 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:25.781 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.781 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.782 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:25.782 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.782 [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 [] 03:30:25.782 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:25.782 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sLcbCKTU5Ig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/f0/82f0a952665d8f8207c55bff489c1b7bf2966c9903bb6a3badc36f1d2aac7056.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:27.307 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bq1j05pcZpI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/37/3d375623f56b075671117768eb81a04175abd6ef680be1604abd9c5b67b793fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:27.307 [error] yt-dlp download error for media item #4656326: "WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:27.307 [error] yt-dlp download will not be retried: "WARNING: [youtube] bq1j05pcZpI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] bq1j05pcZpI: This video is available to this channel's members on level: RAID 1 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:27.308 [info] {"args":{"id":4656326},"id":133815,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1811748,"event":"job:stop","queue_time":2495309,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:27.314 [info] {"args":{"id":5041249},"id":133817,"meta":{},"system_time":1785893427313960095,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:27.314 [debug] QUERY OK source="media_items" db=0.1ms idle=1531.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5041249] 03:30:27.314 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:27.314 [debug] QUERY OK source="sources" db=0.4ms idle=1382.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:27.315 [debug] QUERY OK source="media_profiles" db=0.1ms idle=381.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:27.315 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5041249] 03:30:27.325 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5041249] 03:30:27.325 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:27.326 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.326 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.326 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:27.326 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.327 [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 [] 03:30:27.327 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.327 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Xf3aZIRqT2Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/84/b584e376cce9073561152f24f14a89ecc9f7349e16818dc52c75a1def322369f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:27.932 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sLcbCKTU5Ig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/f0/82f0a952665d8f8207c55bff489c1b7bf2966c9903bb6a3badc36f1d2aac7056.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:27.932 [error] yt-dlp download error for media item #4896176: "WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:27.932 [error] yt-dlp download will not be retried: "WARNING: [youtube] sLcbCKTU5Ig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] sLcbCKTU5Ig: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:27.933 [info] {"args":{"id":4896176},"id":133816,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2153884,"event":"job:stop","queue_time":2778366,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:27.940 [info] {"args":{"id":5160454},"id":133818,"meta":{},"system_time":1785893427940018533,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:27.940 [debug] QUERY OK source="media_items" db=0.1ms idle=613.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5160454] 03:30:27.940 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:27.940 [debug] QUERY OK source="sources" db=0.1ms idle=613.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:27.940 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:27.941 [debug] QUERY OK source="media_items" db=0.2ms idle=7.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160454] 03:30:27.951 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5160454] 03:30:27.951 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:27.951 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.951 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.951 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:27.952 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.952 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.952 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:27.952 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eHgZW63j1ok --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/8b/428bb147cdd67543814cf0b60d1d834689acf620d0434674b0c3a7d744305356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:29.630 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Xf3aZIRqT2Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/84/b584e376cce9073561152f24f14a89ecc9f7349e16818dc52c75a1def322369f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app. 03:30:29.630 [error] yt-dlp download error for media item #5041249: "WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:29.630 [error] yt-dlp download will not be retried: "WARNING: [youtube] Xf3aZIRqT2Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Xf3aZIRqT2Q: This video is available to this channel's members on level: RAID 5 (or any higher level). Join this YouTube channel from your computer or mobile app.\n" 03:30:29.631 [info] {"args":{"id":5041249},"id":133817,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2316980,"event":"job:stop","queue_time":4313403,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:29.638 [info] {"args":{"id":5218171},"id":133819,"meta":{},"system_time":1785893429638054861,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:29.638 [debug] QUERY OK source="media_items" db=0.1ms idle=1685.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5218171] 03:30:29.638 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:29.638 [debug] QUERY OK source="sources" db=0.2ms idle=1686.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [67] 03:30:29.639 [debug] QUERY OK source="media_profiles" db=0.2ms idle=703.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:29.639 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218171] 03:30:29.640 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5218171] 03:30:29.640 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:29.640 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:29.640 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:29.640 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:29.641 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:29.641 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:29.641 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:29.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/38/3638b4c451bbc3f2874d7d381fc7d36268e70b69b967cb2c26515507b9510591.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:29.929 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eHgZW63j1ok --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/8b/428bb147cdd67543814cf0b60d1d834689acf620d0434674b0c3a7d744305356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:29.929 [error] yt-dlp download error for media item #5160454: "WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:29.929 [error] yt-dlp download will not be retried: "WARNING: [youtube] eHgZW63j1ok: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] eHgZW63j1ok: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:29.929 [info] {"args":{"id":5160454},"id":133818,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1989575,"event":"job:stop","queue_time":4939389,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:31.658 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GHi0jYZPiyM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/38/3638b4c451bbc3f2874d7d381fc7d36268e70b69b967cb2c26515507b9510591.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:30:31.658 [error] yt-dlp download error for media item #5218171: "WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:31.658 [error] yt-dlp download will not be retried: "WARNING: [youtube] GHi0jYZPiyM: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] GHi0jYZPiyM: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:30:31.659 [info] {"args":{"id":5218171},"id":133819,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2020569,"event":"job:stop","queue_time":6637366,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:46.818 [info] {"source":"oban","duration":2599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.385 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:08.983 [info] {"args":{"id":58},"id":133317,"meta":{},"system_time":1785893468983749953,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:31:08.993 [debug] QUERY OK source="sources" db=9.4ms idle=208.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:08.993 [debug] QUERY OK source="settings" db=0.2ms idle=218.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:08.999 [debug] QUERY OK source="media_items" db=5.1ms idle=16.9ms 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")))) [58] 03:31:08.999 [debug] QUERY OK source="media_items" db=0.5ms idle=15.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [58] 03:31:09.000 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:09.000 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:09.000 [debug] QUERY OK source="settings" db=0.0ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:09.002 [debug] QUERY OK source="media_items" db=0.9ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [58] 03:31:09.003 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:31:09.003 [debug] Current batch of media processed. Will check again in 1000ms 03:31:09.003 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:09.003 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:09.004 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:09.004 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Maker_HQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Maker HQ/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/2b/2e/2b2e7073c5f08b0030b3393387fa038a15b37fb49f3b5cb16a70f163c0e28693.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a9/4e/a94e2a468a6afc68423965752f9b3ef5329d6c2a45247d3b90895b2d287c9fd7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:31:10.004 [debug] Current batch of media processed. Will check again in 1000ms 03:31:11.005 [debug] Current batch of media processed. Will check again in 1000ms 03:31:12.006 [debug] Current batch of media processed. Will check again in 1000ms 03:31:13.007 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I'm giving you guys an overview of 18650 cell recycling - where I source them, how I source them and why I source them! #18650 #recycling #ewaste #battery \n\nNP-F Case 3D print: https://makerworld.com/en/models/2409386-np-f-case-cover-for-2s2p-18650s-pack#profileId-2641555\nMy spot welder: https://s.click.aliexpress.com/e/_c3O0HQlH\nBattery tester: https://s.click.aliexpress.com/e/_c3HG7ESR\n\n0:00 Intro\n0:30 Overview\n1:08 Why you'd want to do this\n1:49 How I'm using 18650s today\n2:35 Where you can get cells\n3:48 How you need to check them\n6:42 Making them look pretty\n7:18 'Level 3' pack build\n8:24 Outro\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 531, "filename" => "/downloads/Maker HQ/Season 2026/s2026e032200 - This is why I keep every battery pack....mp4", "id" => "QFsUYAhaBXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QFsUYAhaBXE", "playlist_index" => 1, "timestamp" => 1774184450, "title" => "This is why I keep every battery pack...", "upload_date" => "20260322"} 03:31:13.008 [debug] QUERY OK source="sources" db=0.1ms idle=232.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:13.008 [debug] QUERY OK source="sources" db=0.1ms idle=232.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:13.008 [debug] QUERY OK source="media_items" db=0.1ms idle=233.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-22 13:00:50Z], 58] 03:31:13.010 [debug] QUERY OK source="media_items" db=0.9ms idle=27.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm giving you guys an overview of 18650 cell recycling - where I source them, how I source them and why I source them! #18650 #recycling #ewaste #battery \n\nNP-F Case 3D print: https://makerworld.com/en/models/2409386-np-f-case-cover-for-2s2p-18650s-pack#profileId-2641555\nMy spot welder: https://s.click.aliexpress.com/e/_c3O0HQlH\nBattery tester: https://s.click.aliexpress.com/e/_c3HG7ESR\n\n0:00 Intro\n0:30 Overview\n1:08 Why you'd want to do this\n1:49 How I'm using 18650s today\n2:35 Where you can get cells\n3:48 How you need to check them\n6:42 Making them look pretty\n7:18 'Level 3' pack build\n8:24 Outro\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This is why I keep every battery pack...", "0bb38bbd-3e8e-4454-b03f-2e09dedded83", false, 58, [], 531, false, "QFsUYAhaBXE", "https://www.youtube.com/watch?v=QFsUYAhaBXE", 1, "/downloads/Maker HQ/Season 2026/s2026e032200 - This is why I keep every battery pack....mp4", false, false, 98, ~U[2026-03-22 13:00:50Z], ~U[2026-08-05 01:31:13Z], ~U[2026-08-05 01:31:13Z], "Today I'm giving you guys an overview of 18650 cell recycling - where I source them, how I source them and why I source them! #18650 #recycling #ewaste #battery \n\nNP-F Case 3D print: https://makerworld.com/en/models/2409386-np-f-case-cover-for-2s2p-18650s-pack#profileId-2641555\nMy spot welder: https://s.click.aliexpress.com/e/_c3O0HQlH\nBattery tester: https://s.click.aliexpress.com/e/_c3HG7ESR\n\n0:00 Intro\n0:30 Overview\n1:08 Why you'd want to do this\n1:49 How I'm using 18650s today\n2:35 Where you can get cells\n3:48 How you need to check them\n6:42 Making them look pretty\n7:18 'Level 3' pack build\n8:24 Outro\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This is why I keep every battery pack...", 58, 531, false, "QFsUYAhaBXE", "https://www.youtube.com/watch?v=QFsUYAhaBXE", "/downloads/Maker HQ/Season 2026/s2026e032200 - This is why I keep every battery pack....mp4", false, ~U[2026-03-22 13:00:50Z]] 03:31:13.010 [debug] QUERY OK source="sources" db=0.1ms idle=23.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:13.010 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:13.011 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4769347] 03:31:13.011 [debug] Current batch of media processed. Will check again in 1000ms 03:31:14.011 [debug] Current batch of media processed. Will check again in 1000ms 03:31:15.012 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Adulting can be boring. Today I'm going to fix that (maybe) by customising a plain pair of shoes with paint markers! #diy #trainers #shoes #coloring\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 392, "filename" => "/downloads/Maker HQ/Season 2026/s2026e022200 - Making the custom shoes I've always wanted.mp4", "id" => "4vB8VNLNxWo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4vB8VNLNxWo", "playlist_index" => 2, "timestamp" => 1771765215, "title" => "Making the custom shoes I've always wanted", "upload_date" => "20260222"} 03:31:15.012 [debug] QUERY OK source="sources" db=0.1ms idle=237.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:15.013 [debug] QUERY OK source="sources" db=0.0ms idle=237.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:15.013 [debug] QUERY OK source="media_items" db=0.2ms idle=237.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 13:00:15Z], 58] 03:31:15.014 [debug] QUERY OK source="media_items" db=0.6ms idle=30.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Adulting can be boring. Today I'm going to fix that (maybe) by customising a plain pair of shoes with paint markers! #diy #trainers #shoes #coloring\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the custom shoes I've always wanted", "f31aeb68-ca45-4181-b840-31a143d2d787", false, 58, [], 392, false, "4vB8VNLNxWo", "https://www.youtube.com/watch?v=4vB8VNLNxWo", 2, "/downloads/Maker HQ/Season 2026/s2026e022200 - Making the custom shoes I've always wanted.mp4", false, false, 98, ~U[2026-02-22 13:00:15Z], ~U[2026-08-05 01:31:15Z], ~U[2026-08-05 01:31:15Z], "Adulting can be boring. Today I'm going to fix that (maybe) by customising a plain pair of shoes with paint markers! #diy #trainers #shoes #coloring\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the custom shoes I've always wanted", 58, 392, false, "4vB8VNLNxWo", "https://www.youtube.com/watch?v=4vB8VNLNxWo", "/downloads/Maker HQ/Season 2026/s2026e022200 - Making the custom shoes I've always wanted.mp4", false, ~U[2026-02-22 13:00:15Z]] 03:31:15.014 [debug] QUERY OK source="sources" db=0.1ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:15.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:15.015 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4673687] 03:31:15.015 [debug] Current batch of media processed. Will check again in 1000ms 03:31:16.016 [debug] Current batch of media processed. Will check again in 1000ms 03:31:16.821 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:17.017 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I look at two Router OS options to install on the brand new Zimaboard 2, to replace an ageing ASUS unit. #zimaboard #router\n\nPickup a Zimaboard 2 (or anything else) here: https://bit.ly/4pNiIdY & use code *MakerHQ15* for US$15 off!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 544, "filename" => "/downloads/Maker HQ/Season 2026/s2026e020100 - What can't the Zimaboard 2 do?.mp4", "id" => "_aQ2u3RTjMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_aQ2u3RTjMk", "playlist_index" => 3, "timestamp" => 1769950870, "title" => "What can't the Zimaboard 2 do?", "upload_date" => "20260201"} 03:31:17.017 [debug] QUERY OK source="sources" db=0.1ms idle=242.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:17.018 [debug] QUERY OK source="sources" db=0.0ms idle=242.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:17.018 [debug] QUERY OK source="media_items" db=0.2ms idle=197.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-01 13:01:10Z], 58] 03:31:17.019 [debug] QUERY OK source="media_items" db=0.8ms idle=33.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I look at two Router OS options to install on the brand new Zimaboard 2, to replace an ageing ASUS unit. #zimaboard #router\n\nPickup a Zimaboard 2 (or anything else) here: https://bit.ly/4pNiIdY & use code *MakerHQ15* for US$15 off!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "What can't the Zimaboard 2 do?", "9c418bd4-2d6a-4fea-bd52-b66b7051ddab", false, 58, [], 544, false, "_aQ2u3RTjMk", "https://www.youtube.com/watch?v=_aQ2u3RTjMk", 3, "/downloads/Maker HQ/Season 2026/s2026e020100 - What can't the Zimaboard 2 do?.mp4", false, false, 98, ~U[2026-02-01 13:01:10Z], ~U[2026-08-05 01:31:17Z], ~U[2026-08-05 01:31:17Z], "Today I look at two Router OS options to install on the brand new Zimaboard 2, to replace an ageing ASUS unit. #zimaboard #router\n\nPickup a Zimaboard 2 (or anything else) here: https://bit.ly/4pNiIdY & use code *MakerHQ15* for US$15 off!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "What can't the Zimaboard 2 do?", 58, 544, false, "_aQ2u3RTjMk", "https://www.youtube.com/watch?v=_aQ2u3RTjMk", "/downloads/Maker HQ/Season 2026/s2026e020100 - What can't the Zimaboard 2 do?.mp4", false, ~U[2026-02-01 13:01:10Z]] 03:31:17.020 [debug] QUERY OK source="sources" db=0.1ms idle=29.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:17.020 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:17.020 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4603482] 03:31:17.020 [debug] Current batch of media processed. Will check again in 1000ms 03:31:18.021 [debug] Current batch of media processed. Will check again in 1000ms 03:31:19.022 [debug] Current batch of media processed. Will check again in 1000ms 03:31:20.023 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I'm re-architecting my network with some 10 gigabit hardware in cute & configurable 3D printed 10\" mini rack!\n\nMini rack: https://makerworld.com/en/models/1452571-modular-10-server-rack#profileId-1513461\n\nHoraco Switch: https://s.click.aliexpress.com/e/_c3l7Rlt1\n\nHoraco Switch Rack Panel: https://makerworld.com/en/models/1936335-horaco-4xrj45-2xsfp-switch-10-rack-shelf-lite#profileId-2079133\nTP Link LS105 POE Switch Rack Panel: https://makerworld.com/en/models/1912225-tp-link-litewave-ls105g-gp-10-rack-shelf-lite#profileId-2050704\nLSI 9211-8i Fan Shroud: https://makerworld.com/en/models/1999210-lsi-9211-8i-fan-bracket#profileId-2152362\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 585, "filename" => "/downloads/Maker HQ/Season 2026/s2026e011100 - Harnessing the power of 10 Gigabit!.mp4", "id" => "-BoJXmEUQuU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-BoJXmEUQuU", "playlist_index" => 4, "timestamp" => 1768136400, "title" => "Harnessing the power of 10 Gigabit!", "upload_date" => "20260111"} 03:31:20.023 [debug] QUERY OK source="sources" db=0.1ms idle=1248.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:20.024 [debug] QUERY OK source="sources" db=0.1ms idle=1036.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:20.024 [debug] QUERY OK source="media_items" db=0.3ms idle=1030.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 13:00:00Z], 58] 03:31:20.035 [debug] QUERY OK source="media_items" db=10.7ms idle=35.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm re-architecting my network with some 10 gigabit hardware in cute & configurable 3D printed 10\" mini rack!\n\nMini rack: https://makerworld.com/en/models/1452571-modular-10-server-rack#profileId-1513461\n\nHoraco Switch: https://s.click.aliexpress.com/e/_c3l7Rlt1\n\nHoraco Switch Rack Panel: https://makerworld.com/en/models/1936335-horaco-4xrj45-2xsfp-switch-10-rack-shelf-lite#profileId-2079133\nTP Link LS105 POE Switch Rack Panel: https://makerworld.com/en/models/1912225-tp-link-litewave-ls105g-gp-10-rack-shelf-lite#profileId-2050704\nLSI 9211-8i Fan Shroud: https://makerworld.com/en/models/1999210-lsi-9211-8i-fan-bracket#profileId-2152362\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Harnessing the power of 10 Gigabit!", "13efb6a8-4999-4bc0-9986-890181fe95a5", false, 58, [], 585, false, "-BoJXmEUQuU", "https://www.youtube.com/watch?v=-BoJXmEUQuU", 4, "/downloads/Maker HQ/Season 2026/s2026e011100 - Harnessing the power of 10 Gigabit!.mp4", false, false, 98, ~U[2026-01-11 13:00:00Z], ~U[2026-08-05 01:31:20Z], ~U[2026-08-05 01:31:20Z], "Today I'm re-architecting my network with some 10 gigabit hardware in cute & configurable 3D printed 10\" mini rack!\n\nMini rack: https://makerworld.com/en/models/1452571-modular-10-server-rack#profileId-1513461\n\nHoraco Switch: https://s.click.aliexpress.com/e/_c3l7Rlt1\n\nHoraco Switch Rack Panel: https://makerworld.com/en/models/1936335-horaco-4xrj45-2xsfp-switch-10-rack-shelf-lite#profileId-2079133\nTP Link LS105 POE Switch Rack Panel: https://makerworld.com/en/models/1912225-tp-link-litewave-ls105g-gp-10-rack-shelf-lite#profileId-2050704\nLSI 9211-8i Fan Shroud: https://makerworld.com/en/models/1999210-lsi-9211-8i-fan-bracket#profileId-2152362\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Harnessing the power of 10 Gigabit!", 58, 585, false, "-BoJXmEUQuU", "https://www.youtube.com/watch?v=-BoJXmEUQuU", "/downloads/Maker HQ/Season 2026/s2026e011100 - Harnessing the power of 10 Gigabit!.mp4", false, ~U[2026-01-11 13:00:00Z]] 03:31:20.036 [debug] QUERY OK source="sources" db=0.2ms idle=40.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:20.036 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:20.036 [debug] QUERY OK source="media_items" db=0.2ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4534904] 03:31:20.036 [debug] Current batch of media processed. Will check again in 1000ms 03:31:21.037 [debug] Current batch of media processed. Will check again in 1000ms 03:31:22.038 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how you can take this extremely affordable clock/weather station and use it within your Home Assistant ecosystem through flashing it with ESPHome!\n\nGeekMagic SmallTV Ultra (this device, ESP8266): https://s.click.aliexpress.com/e/_c2wUxtk3\nGeekMagic SmallTV Pro (ESP32): https://s.click.aliexpress.com/e/_c2Qlo7hL\n\nConfiguration file (ESP8266-specific): https://www.dropbox.com/scl/fi/9t175rsb23n8anikfplcg/ultratv.yaml?rlkey=au79zg7flndf2dz2g2uq598v4&dl=0\n\nHome Assistant Forum Thread: https://community.home-assistant.io/t/installing-esphome-on-geekmagic-smart-weather-clock-smalltv-pro/618029/164\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 303, "filename" => "/downloads/Maker HQ/Season 2025/s2025e113000 - This $16 device is a must-have for any Home Assistant user.mp4", "id" => "S1Q9PZ95SDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=S1Q9PZ95SDM", "playlist_index" => 5, "timestamp" => 1764507652, "title" => "This $16 device is a must-have for any Home Assistant user", "upload_date" => "20251130"} 03:31:22.039 [debug] QUERY OK source="sources" db=0.1ms idle=263.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:22.039 [debug] QUERY OK source="sources" db=0.1ms idle=263.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:22.039 [debug] QUERY OK source="media_items" db=0.2ms idle=264.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 13:00:52Z], 58] 03:31:22.050 [debug] QUERY OK source="media_items" db=10.1ms idle=47.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how you can take this extremely affordable clock/weather station and use it within your Home Assistant ecosystem through flashing it with ESPHome!\n\nGeekMagic SmallTV Ultra (this device, ESP8266): https://s.click.aliexpress.com/e/_c2wUxtk3\nGeekMagic SmallTV Pro (ESP32): https://s.click.aliexpress.com/e/_c2Qlo7hL\n\nConfiguration file (ESP8266-specific): https://www.dropbox.com/scl/fi/9t175rsb23n8anikfplcg/ultratv.yaml?rlkey=au79zg7flndf2dz2g2uq598v4&dl=0\n\nHome Assistant Forum Thread: https://community.home-assistant.io/t/installing-esphome-on-geekmagic-smart-weather-clock-smalltv-pro/618029/164\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This $16 device is a must-have for any Home Assistant user", "ba4ad6d6-b0e9-4568-aba0-e4e301003c2f", false, 58, [], 303, false, "S1Q9PZ95SDM", "https://www.youtube.com/watch?v=S1Q9PZ95SDM", 5, "/downloads/Maker HQ/Season 2025/s2025e113000 - This $16 device is a must-have for any Home Assistant user.mp4", false, false, 98, ~U[2025-11-30 13:00:52Z], ~U[2026-08-05 01:31:22Z], ~U[2026-08-05 01:31:22Z], "In this video I show you how you can take this extremely affordable clock/weather station and use it within your Home Assistant ecosystem through flashing it with ESPHome!\n\nGeekMagic SmallTV Ultra (this device, ESP8266): https://s.click.aliexpress.com/e/_c2wUxtk3\nGeekMagic SmallTV Pro (ESP32): https://s.click.aliexpress.com/e/_c2Qlo7hL\n\nConfiguration file (ESP8266-specific): https://www.dropbox.com/scl/fi/9t175rsb23n8anikfplcg/ultratv.yaml?rlkey=au79zg7flndf2dz2g2uq598v4&dl=0\n\nHome Assistant Forum Thread: https://community.home-assistant.io/t/installing-esphome-on-geekmagic-smart-weather-clock-smalltv-pro/618029/164\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This $16 device is a must-have for any Home Assistant user", 58, 303, false, "S1Q9PZ95SDM", "https://www.youtube.com/watch?v=S1Q9PZ95SDM", "/downloads/Maker HQ/Season 2025/s2025e113000 - This $16 device is a must-have for any Home Assistant user.mp4", false, ~U[2025-11-30 13:00:52Z]] 03:31:22.050 [debug] QUERY OK source="sources" db=0.1ms idle=52.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:22.050 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:22.051 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4398958] 03:31:22.051 [debug] Current batch of media processed. Will check again in 1000ms 03:31:23.052 [debug] Current batch of media processed. Will check again in 1000ms 03:31:24.053 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I set out to make something and end up with something else instead!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 491, "filename" => "/downloads/Maker HQ/Season 2025/s2025e111300 - 3D printing can't make this!.mp4", "id" => "UmIbG5bRd9g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UmIbG5bRd9g", "playlist_index" => 6, "timestamp" => 1763038865, "title" => "3D printing can't make this!", "upload_date" => "20251113"} 03:31:24.054 [debug] QUERY OK source="sources" db=0.2ms idle=278.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:24.054 [debug] QUERY OK source="sources" db=0.1ms idle=278.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:24.055 [debug] QUERY OK source="media_items" db=0.3ms idle=279.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 13:01:05Z], 58] 03:31:24.065 [debug] QUERY OK source="media_items" db=10.3ms idle=60.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I set out to make something and end up with something else instead!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D printing can't make this!", "c7bd2ec4-2ea7-49ec-a592-e6312556e515", false, 58, [], 491, false, "UmIbG5bRd9g", "https://www.youtube.com/watch?v=UmIbG5bRd9g", 6, "/downloads/Maker HQ/Season 2025/s2025e111300 - 3D printing can't make this!.mp4", false, false, 98, ~U[2025-11-13 13:01:05Z], ~U[2026-08-05 01:31:24Z], ~U[2026-08-05 01:31:24Z], "Today I set out to make something and end up with something else instead!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D printing can't make this!", 58, 491, false, "UmIbG5bRd9g", "https://www.youtube.com/watch?v=UmIbG5bRd9g", "/downloads/Maker HQ/Season 2025/s2025e111300 - 3D printing can't make this!.mp4", false, ~U[2025-11-13 13:01:05Z]] 03:31:24.066 [debug] QUERY OK source="sources" db=0.2ms idle=65.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:24.066 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:24.067 [debug] QUERY OK source="media_items" db=0.1ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4344602] 03:31:24.067 [debug] Current batch of media processed. Will check again in 1000ms 03:31:25.067 [debug] Current batch of media processed. Will check again in 1000ms 03:31:26.068 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join me as I create a creepy prop with both fog and underglow for this year's Halloween celebrations!\n\nCauldron model: https://makerworld.com/en/models/1769460\nUSB humidifer: https://s.click.aliexpress.com/e/_c4FDy2Xl\n18650 UPS (5V): https://s.click.aliexpress.com/e/_c2yEe1Cj\nESP32 Dev Board: https://s.click.aliexpress.com/e/_c4T7V4A7\nWS2812(B) LED Strip: https://www.aliexpress.com/item/1005007982624217.html\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 367, "filename" => "/downloads/Maker HQ/Season 2025/s2025e110100 - No-one will dare take your Halloween candy from this....mp4", "id" => "IofeD7eNjoE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IofeD7eNjoE", "playlist_index" => 7, "timestamp" => 1761995029, "title" => "No-one will dare take your Halloween candy from this...", "upload_date" => "20251101"} 03:31:26.069 [debug] QUERY OK source="sources" db=0.1ms idle=293.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:26.069 [debug] QUERY OK source="sources" db=0.1ms idle=293.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:26.069 [debug] QUERY OK source="media_items" db=0.2ms idle=293.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 11:03:49Z], 58] 03:31:26.080 [debug] QUERY OK source="media_items" db=10.2ms idle=72.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Join me as I create a creepy prop with both fog and underglow for this year's Halloween celebrations!\n\nCauldron model: https://makerworld.com/en/models/1769460\nUSB humidifer: https://s.click.aliexpress.com/e/_c4FDy2Xl\n18650 UPS (5V): https://s.click.aliexpress.com/e/_c2yEe1Cj\nESP32 Dev Board: https://s.click.aliexpress.com/e/_c4T7V4A7\nWS2812(B) LED Strip: https://www.aliexpress.com/item/1005007982624217.html\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "No-one will dare take your Halloween candy from this...", "2dd89534-6dcb-40e0-8ce9-2b6df1b94c54", false, 58, [], 367, false, "IofeD7eNjoE", "https://www.youtube.com/watch?v=IofeD7eNjoE", 7, "/downloads/Maker HQ/Season 2025/s2025e110100 - No-one will dare take your Halloween candy from this....mp4", false, false, 98, ~U[2025-11-01 11:03:49Z], ~U[2026-08-05 01:31:26Z], ~U[2026-08-05 01:31:26Z], "Join me as I create a creepy prop with both fog and underglow for this year's Halloween celebrations!\n\nCauldron model: https://makerworld.com/en/models/1769460\nUSB humidifer: https://s.click.aliexpress.com/e/_c4FDy2Xl\n18650 UPS (5V): https://s.click.aliexpress.com/e/_c2yEe1Cj\nESP32 Dev Board: https://s.click.aliexpress.com/e/_c4T7V4A7\nWS2812(B) LED Strip: https://www.aliexpress.com/item/1005007982624217.html\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "No-one will dare take your Halloween candy from this...", 58, 367, false, "IofeD7eNjoE", "https://www.youtube.com/watch?v=IofeD7eNjoE", "/downloads/Maker HQ/Season 2025/s2025e110100 - No-one will dare take your Halloween candy from this....mp4", false, ~U[2025-11-01 11:03:49Z]] 03:31:26.080 [debug] QUERY OK source="sources" db=0.1ms idle=77.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:26.080 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:26.081 [debug] QUERY OK source="media_items" db=0.1ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4306318] 03:31:26.081 [debug] Current batch of media processed. Will check again in 1000ms 03:31:27.082 [debug] Current batch of media processed. Will check again in 1000ms 03:31:28.083 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I'm assembling a bespoke watch using an incredible 40mm Titanium watch case and sunburst blue dial #watchbuild #diy\n\nCase: https://s.click.aliexpress.com/e/_onUncFt\nMovement (3.8): https://s.click.aliexpress.com/e/_oEVOxT5\nDial: https://s.click.aliexpress.com/e/_oBsoY7p\nHands: https://s.click.aliexpress.com/e/_oE5s4JZ\nBand: https://www.aliexpress.com/item/1005002460521364.html?spm=a2g0o.order_list.order_list_main.95.21ef1802AU9d4g\n\nTiffany watches: https://www.gczgo.shop/?path=page/ggitem&ggpid=4630953\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 272, "filename" => "/downloads/Maker HQ/Season 2025/s2025e092100 - The most remarkable watch I've made so far....mp4", "id" => "KoDVftoOr48", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KoDVftoOr48", "playlist_index" => 8, "timestamp" => 1758463235, "title" => "The most remarkable watch I've made so far...", "upload_date" => "20250921"} 03:31:28.083 [debug] QUERY OK source="sources" db=0.1ms idle=308.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:28.084 [debug] QUERY OK source="sources" db=0.1ms idle=308.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:28.084 [debug] QUERY OK source="media_items" db=0.2ms idle=308.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-21 14:00:35Z], 58] 03:31:28.095 [debug] QUERY OK source="media_items" db=10.0ms idle=85.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm assembling a bespoke watch using an incredible 40mm Titanium watch case and sunburst blue dial #watchbuild #diy\n\nCase: https://s.click.aliexpress.com/e/_onUncFt\nMovement (3.8): https://s.click.aliexpress.com/e/_oEVOxT5\nDial: https://s.click.aliexpress.com/e/_oBsoY7p\nHands: https://s.click.aliexpress.com/e/_oE5s4JZ\nBand: https://www.aliexpress.com/item/1005002460521364.html?spm=a2g0o.order_list.order_list_main.95.21ef1802AU9d4g\n\nTiffany watches: https://www.gczgo.shop/?path=page/ggitem&ggpid=4630953\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The most remarkable watch I've made so far...", "46d03c28-0ba0-4bc1-a89c-1afa181cfb03", false, 58, [], 272, false, "KoDVftoOr48", "https://www.youtube.com/watch?v=KoDVftoOr48", 8, "/downloads/Maker HQ/Season 2025/s2025e092100 - The most remarkable watch I've made so far....mp4", false, false, 98, ~U[2025-09-21 14:00:35Z], ~U[2026-08-05 01:31:28Z], ~U[2026-08-05 01:31:28Z], "Today I'm assembling a bespoke watch using an incredible 40mm Titanium watch case and sunburst blue dial #watchbuild #diy\n\nCase: https://s.click.aliexpress.com/e/_onUncFt\nMovement (3.8): https://s.click.aliexpress.com/e/_oEVOxT5\nDial: https://s.click.aliexpress.com/e/_oBsoY7p\nHands: https://s.click.aliexpress.com/e/_oE5s4JZ\nBand: https://www.aliexpress.com/item/1005002460521364.html?spm=a2g0o.order_list.order_list_main.95.21ef1802AU9d4g\n\nTiffany watches: https://www.gczgo.shop/?path=page/ggitem&ggpid=4630953\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The most remarkable watch I've made so far...", 58, 272, false, "KoDVftoOr48", "https://www.youtube.com/watch?v=KoDVftoOr48", "/downloads/Maker HQ/Season 2025/s2025e092100 - The most remarkable watch I've made so far....mp4", false, ~U[2025-09-21 14:00:35Z]] 03:31:28.095 [debug] QUERY OK source="sources" db=0.1ms idle=90.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:28.095 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:28.096 [debug] QUERY OK source="media_items" db=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4173385] 03:31:28.096 [debug] Current batch of media processed. Will check again in 1000ms 03:31:29.097 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to demand, today I'm covering the install, setup and a demo of HAOS on my Proxmox NAS/Media Server!\n\nHAOS download command: wget https://github.com/home-assistant/operating-system/releases/download/yyy/haos_ova-yyy.qcow2.xz (where yyy is the image version)\nHAOS decompress command: unxz haos_ova-yyy.qcow2 (where yyy is the image version)\nHAOS import command: qm importdisk xxx haos_ova-yyy.qcow2 local-lvm (where xxx is the VM ID and yyy is the image version)\n\nZigbee co-ordinator: https://s.click.aliexpress.com/e/_oD7qwLF\nZigbee irrigation switch: https://s.click.aliexpress.com/e/_oCwwdIH\nZigbee radar sensor: https://s.click.aliexpress.com/e/_oDGOvO5\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 557, "filename" => "/downloads/Maker HQ/Season 2025/s2025e083000 - Home Automation on my Proxmox NAS!.mp4", "id" => "GPWMhshEqgw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GPWMhshEqgw", "playlist_index" => 9, "timestamp" => 1756562420, "title" => "Home Automation on my Proxmox NAS!", "upload_date" => "20250830"} 03:31:29.097 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:29.098 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:29.098 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 14:00:20Z], 58] 03:31:29.101 [debug] QUERY OK source="media_items" db=2.1ms idle=98.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to demand, today I'm covering the install, setup and a demo of HAOS on my Proxmox NAS/Media Server!\n\nHAOS download command: wget https://github.com/home-assistant/operating-system/releases/download/yyy/haos_ova-yyy.qcow2.xz (where yyy is the image version)\nHAOS decompress command: unxz haos_ova-yyy.qcow2 (where yyy is the image version)\nHAOS import command: qm importdisk xxx haos_ova-yyy.qcow2 local-lvm (where xxx is the VM ID and yyy is the image version)\n\nZigbee co-ordinator: https://s.click.aliexpress.com/e/_oD7qwLF\nZigbee irrigation switch: https://s.click.aliexpress.com/e/_oCwwdIH\nZigbee radar sensor: https://s.click.aliexpress.com/e/_oDGOvO5\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Home Automation on my Proxmox NAS!", "1aafc32a-11ec-4128-a044-879b3e9370b0", false, 58, [], 557, false, "GPWMhshEqgw", "https://www.youtube.com/watch?v=GPWMhshEqgw", 9, "/downloads/Maker HQ/Season 2025/s2025e083000 - Home Automation on my Proxmox NAS!.mp4", false, false, 98, ~U[2025-08-30 14:00:20Z], ~U[2026-08-05 01:31:29Z], ~U[2026-08-05 01:31:29Z], "Thanks to demand, today I'm covering the install, setup and a demo of HAOS on my Proxmox NAS/Media Server!\n\nHAOS download command: wget https://github.com/home-assistant/operating-system/releases/download/yyy/haos_ova-yyy.qcow2.xz (where yyy is the image version)\nHAOS decompress command: unxz haos_ova-yyy.qcow2 (where yyy is the image version)\nHAOS import command: qm importdisk xxx haos_ova-yyy.qcow2 local-lvm (where xxx is the VM ID and yyy is the image version)\n\nZigbee co-ordinator: https://s.click.aliexpress.com/e/_oD7qwLF\nZigbee irrigation switch: https://s.click.aliexpress.com/e/_oCwwdIH\nZigbee radar sensor: https://s.click.aliexpress.com/e/_oDGOvO5\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Home Automation on my Proxmox NAS!", 58, 557, false, "GPWMhshEqgw", "https://www.youtube.com/watch?v=GPWMhshEqgw", "/downloads/Maker HQ/Season 2025/s2025e083000 - Home Automation on my Proxmox NAS!.mp4", false, ~U[2025-08-30 14:00:20Z]] 03:31:29.101 [debug] QUERY OK source="sources" db=0.2ms idle=95.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:29.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:29.101 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4111048] 03:31:29.101 [debug] Current batch of media processed. Will check again in 1000ms 03:31:30.102 [debug] Current batch of media processed. Will check again in 1000ms 03:31:31.103 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With the #ninja #creami on sale recently, I decided to pick one up in order to create whatever #icecream my heart desires... good or bad. Today we're trying a host of DIY flavours - with common and not-so-common ice-cream ingredients!\n\n0:00 Intro\n0:42 Ingredient selection and plan\n2:33 Good: Tim Tam\n4:10 Bad: Tim Tam and Twisties\n5:46 Good: Biscoff\n6:55 Bad: Salted Biscoff\n8:14 Good: Peanut Butter\n8:38 Bad: Peanut Butter and Vegemite\n9:47 Good: Nutella\n10:29 Bad: Nutella and Shapes\n12:30 Good: Choc Chip\n12:54 Bad: Choc Chip and Hot Sauce\n14:40 Recap\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 945, "filename" => "/downloads/Maker HQ/Season 2025/s2025e071500 - Making the very-best & horribly-worst ice-creams!.mp4", "id" => "Z55uhoSJhaU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z55uhoSJhaU", "playlist_index" => 10, "timestamp" => 1752588056, "title" => "Making the very-best & horribly-worst ice-creams!", "upload_date" => "20250715"} 03:31:31.104 [debug] QUERY OK source="sources" db=0.1ms idle=328.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:31.104 [debug] QUERY OK source="sources" db=0.0ms idle=328.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:31.104 [debug] QUERY OK source="media_items" db=0.2ms idle=329.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-15 14:00:56Z], 58] 03:31:31.114 [debug] QUERY OK source="media_items" db=9.5ms idle=101.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With the #ninja #creami on sale recently, I decided to pick one up in order to create whatever #icecream my heart desires... good or bad. Today we're trying a host of DIY flavours - with common and not-so-common ice-cream ingredients!\n\n0:00 Intro\n0:42 Ingredient selection and plan\n2:33 Good: Tim Tam\n4:10 Bad: Tim Tam and Twisties\n5:46 Good: Biscoff\n6:55 Bad: Salted Biscoff\n8:14 Good: Peanut Butter\n8:38 Bad: Peanut Butter and Vegemite\n9:47 Good: Nutella\n10:29 Bad: Nutella and Shapes\n12:30 Good: Choc Chip\n12:54 Bad: Choc Chip and Hot Sauce\n14:40 Recap\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the very-best & horribly-worst ice-creams!", "c75b7f54-68cb-4f2b-a332-fd2078132fb3", false, 58, [], 945, false, "Z55uhoSJhaU", "https://www.youtube.com/watch?v=Z55uhoSJhaU", 10, "/downloads/Maker HQ/Season 2025/s2025e071500 - Making the very-best & horribly-worst ice-creams!.mp4", false, false, 98, ~U[2025-07-15 14:00:56Z], ~U[2026-08-05 01:31:31Z], ~U[2026-08-05 01:31:31Z], "With the #ninja #creami on sale recently, I decided to pick one up in order to create whatever #icecream my heart desires... good or bad. Today we're trying a host of DIY flavours - with common and not-so-common ice-cream ingredients!\n\n0:00 Intro\n0:42 Ingredient selection and plan\n2:33 Good: Tim Tam\n4:10 Bad: Tim Tam and Twisties\n5:46 Good: Biscoff\n6:55 Bad: Salted Biscoff\n8:14 Good: Peanut Butter\n8:38 Bad: Peanut Butter and Vegemite\n9:47 Good: Nutella\n10:29 Bad: Nutella and Shapes\n12:30 Good: Choc Chip\n12:54 Bad: Choc Chip and Hot Sauce\n14:40 Recap\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the very-best & horribly-worst ice-creams!", 58, 945, false, "Z55uhoSJhaU", "https://www.youtube.com/watch?v=Z55uhoSJhaU", "/downloads/Maker HQ/Season 2025/s2025e071500 - Making the very-best & horribly-worst ice-creams!.mp4", false, ~U[2025-07-15 14:00:56Z]] 03:31:31.115 [debug] QUERY OK source="sources" db=0.1ms idle=106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:31.115 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:31.115 [debug] QUERY OK source="media_items" db=0.1ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3975370] 03:31:31.115 [debug] Current batch of media processed. Will check again in 1000ms 03:31:32.116 [debug] Current batch of media processed. Will check again in 1000ms 03:31:33.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I had to travel not to America, but to a local pop-up to find a Disneyland Spirit Jersey that I actually liked... well almost like. But I think I will LOVE it after what I do in today's video! #tiedye #disney #jersey #diy \n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 313, "filename" => "/downloads/Maker HQ/Season 2025/s2025e061500 - Personalising any garment with Tie Dyeing.mp4", "id" => "8P40294QSbI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8P40294QSbI", "playlist_index" => 11, "timestamp" => 1749996022, "title" => "Personalising any garment with Tie Dyeing", "upload_date" => "20250615"} 03:31:33.117 [debug] QUERY OK source="sources" db=0.1ms idle=342.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:33.118 [debug] QUERY OK source="sources" db=0.0ms idle=342.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:33.118 [debug] QUERY OK source="media_items" db=0.2ms idle=342.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-15 14:00:22Z], 58] 03:31:33.128 [debug] QUERY OK source="media_items" db=10.0ms idle=113.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I had to travel not to America, but to a local pop-up to find a Disneyland Spirit Jersey that I actually liked... well almost like. But I think I will LOVE it after what I do in today's video! #tiedye #disney #jersey #diy \n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Personalising any garment with Tie Dyeing", "1b5eaf8f-4175-43f8-b572-c04cba23d6d6", false, 58, [], 313, false, "8P40294QSbI", "https://www.youtube.com/watch?v=8P40294QSbI", 11, "/downloads/Maker HQ/Season 2025/s2025e061500 - Personalising any garment with Tie Dyeing.mp4", false, false, 98, ~U[2025-06-15 14:00:22Z], ~U[2026-08-05 01:31:33Z], ~U[2026-08-05 01:31:33Z], "I had to travel not to America, but to a local pop-up to find a Disneyland Spirit Jersey that I actually liked... well almost like. But I think I will LOVE it after what I do in today's video! #tiedye #disney #jersey #diy \n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Personalising any garment with Tie Dyeing", 58, 313, false, "8P40294QSbI", "https://www.youtube.com/watch?v=8P40294QSbI", "/downloads/Maker HQ/Season 2025/s2025e061500 - Personalising any garment with Tie Dyeing.mp4", false, ~U[2025-06-15 14:00:22Z]] 03:31:33.129 [debug] QUERY OK source="sources" db=0.1ms idle=118.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:33.129 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:33.129 [debug] QUERY OK source="media_items" db=0.1ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3801929] 03:31:33.129 [debug] Current batch of media processed. Will check again in 1000ms 03:31:34.130 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dream of a Hublot Integral Tourbillon Full Sapphire. But alas I'll never own one. Thankfully, 3D printing has come so far I can make my own... I think. #3dprinting #watches #diy\n\n3D model: https://makerworld.com/en/models/1448088-big-bang-watch-case-band-for-casio-g-shock#profileId-1508159\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 842, "filename" => "/downloads/Maker HQ/Season 2025/s2025e052500 - Designing an incredible homage of an incredible watch.mp4", "id" => "M5GJ_9N8bUk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M5GJ_9N8bUk", "playlist_index" => 12, "timestamp" => 1748181625, "title" => "Designing an incredible homage of an incredible watch", "upload_date" => "20250525"} 03:31:34.131 [debug] QUERY OK source="sources" db=0.2ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:34.131 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:34.131 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-25 14:00:25Z], 58] 03:31:34.158 [debug] QUERY OK source="media_items" db=25.7ms idle=125.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dream of a Hublot Integral Tourbillon Full Sapphire. But alas I'll never own one. Thankfully, 3D printing has come so far I can make my own... I think. #3dprinting #watches #diy\n\n3D model: https://makerworld.com/en/models/1448088-big-bang-watch-case-band-for-casio-g-shock#profileId-1508159\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Designing an incredible homage of an incredible watch", "0aa55082-8842-43c1-9d96-e3474735b30b", false, 58, [], 842, false, "M5GJ_9N8bUk", "https://www.youtube.com/watch?v=M5GJ_9N8bUk", 12, "/downloads/Maker HQ/Season 2025/s2025e052500 - Designing an incredible homage of an incredible watch.mp4", false, false, 98, ~U[2025-05-25 14:00:25Z], ~U[2026-08-05 01:31:34Z], ~U[2026-08-05 01:31:34Z], "I dream of a Hublot Integral Tourbillon Full Sapphire. But alas I'll never own one. Thankfully, 3D printing has come so far I can make my own... I think. #3dprinting #watches #diy\n\n3D model: https://makerworld.com/en/models/1448088-big-bang-watch-case-band-for-casio-g-shock#profileId-1508159\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Designing an incredible homage of an incredible watch", 58, 842, false, "M5GJ_9N8bUk", "https://www.youtube.com/watch?v=M5GJ_9N8bUk", "/downloads/Maker HQ/Season 2025/s2025e052500 - Designing an incredible homage of an incredible watch.mp4", false, ~U[2025-05-25 14:00:25Z]] 03:31:34.158 [debug] QUERY OK source="sources" db=0.2ms idle=146.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:34.158 [debug] QUERY OK source="media_profiles" db=0.1ms idle=27.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:34.159 [debug] QUERY OK source="media_items" db=0.1ms idle=27.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3699908] 03:31:34.159 [debug] Current batch of media processed. Will check again in 1000ms 03:31:35.160 [debug] Current batch of media processed. Will check again in 1000ms 03:31:36.161 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I picked up a new Weber (Q3200) recently, but the only things new about it is it's new to me. It needs some love, so let's do that with #3dprinting! #diy #weber\n\n3D model: https://makerworld.com/en/models/1388834-weber-q300-320-3000-3200-replacement-knobs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 202, "filename" => "/downloads/Maker HQ/Season 2025/s2025e050900 - Fixing my new-old Weber with 3D Printing.mp4", "id" => "FG-lppSoC2Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FG-lppSoC2Q", "playlist_index" => 13, "timestamp" => 1746799219, "title" => "Fixing my new-old Weber with 3D Printing", "upload_date" => "20250509"} 03:31:36.162 [debug] QUERY OK source="sources" db=0.1ms idle=386.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:36.162 [debug] QUERY OK source="sources" db=0.1ms idle=386.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:36.162 [debug] QUERY OK source="media_items" db=0.3ms idle=386.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-09 14:00:19Z], 58] 03:31:36.179 [debug] QUERY OK source="media_items" db=16.6ms idle=154.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I picked up a new Weber (Q3200) recently, but the only things new about it is it's new to me. It needs some love, so let's do that with #3dprinting! #diy #weber\n\n3D model: https://makerworld.com/en/models/1388834-weber-q300-320-3000-3200-replacement-knobs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Fixing my new-old Weber with 3D Printing", "13859b83-f9fc-4d36-8136-5ac9fc3b1cdc", false, 58, [], 202, false, "FG-lppSoC2Q", "https://www.youtube.com/watch?v=FG-lppSoC2Q", 13, "/downloads/Maker HQ/Season 2025/s2025e050900 - Fixing my new-old Weber with 3D Printing.mp4", false, false, 98, ~U[2025-05-09 14:00:19Z], ~U[2026-08-05 01:31:36Z], ~U[2026-08-05 01:31:36Z], "I picked up a new Weber (Q3200) recently, but the only things new about it is it's new to me. It needs some love, so let's do that with #3dprinting! #diy #weber\n\n3D model: https://makerworld.com/en/models/1388834-weber-q300-320-3000-3200-replacement-knobs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Fixing my new-old Weber with 3D Printing", 58, 202, false, "FG-lppSoC2Q", "https://www.youtube.com/watch?v=FG-lppSoC2Q", "/downloads/Maker HQ/Season 2025/s2025e050900 - Fixing my new-old Weber with 3D Printing.mp4", false, ~U[2025-05-09 14:00:19Z]] 03:31:36.180 [debug] QUERY OK source="sources" db=0.2ms idle=165.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:36.180 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:36.181 [debug] QUERY OK source="media_items" db=0.2ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3624335] 03:31:36.181 [debug] Current batch of media processed. Will check again in 1000ms 03:31:37.181 [debug] Current batch of media processed. Will check again in 1000ms 03:31:38.182 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I'm covering the build and configuration of my latest home media server/NAS/docker server which I setup for 2025. It's a beast! #nas #docker #plex \n\nHome Assistant OS follow up video - https://youtu.be/GPWMhshEqgw\n\nReddit Proxmox GPU Passthrough Guide: https://www.reddit.com/r/homelab/s/gbNOgMTpBu\nSATA HBA: https://s.click.aliexpress.com/e/_c2RTJ9Jj\n\n0:00 Intro\n0:30 Background\n1:50 The hardware\n4:14 Proxmox installation\n5:53 TrueNAS installation\n10:10 Debian installation\n12:50 Windows installation\n15:22 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 1015, "filename" => "/downloads/Maker HQ/Season 2025/s2025e042000 - The Do-It-All NAS for 2025!.mp4", "id" => "VBUvEMswD30", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VBUvEMswD30", "playlist_index" => 14, "timestamp" => 1745157642, "title" => "The Do-It-All NAS for 2025!", "upload_date" => "20250420"} 03:31:38.182 [debug] QUERY OK source="sources" db=0.2ms idle=407.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:38.183 [debug] QUERY OK source="sources" db=0.1ms idle=407.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:38.183 [debug] QUERY OK source="media_items" db=0.3ms idle=407.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 14:00:42Z], 58] 03:31:38.185 [debug] QUERY OK source="media_items" db=1.3ms idle=172.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm covering the build and configuration of my latest home media server/NAS/docker server which I setup for 2025. It's a beast! #nas #docker #plex \n\nHome Assistant OS follow up video - https://youtu.be/GPWMhshEqgw\n\nReddit Proxmox GPU Passthrough Guide: https://www.reddit.com/r/homelab/s/gbNOgMTpBu\nSATA HBA: https://s.click.aliexpress.com/e/_c2RTJ9Jj\n\n0:00 Intro\n0:30 Background\n1:50 The hardware\n4:14 Proxmox installation\n5:53 TrueNAS installation\n10:10 Debian installation\n12:50 Windows installation\n15:22 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The Do-It-All NAS for 2025!", "aa05c102-08a2-4cdc-8b77-316161720b25", false, 58, [], 1015, false, "VBUvEMswD30", "https://www.youtube.com/watch?v=VBUvEMswD30", 14, "/downloads/Maker HQ/Season 2025/s2025e042000 - The Do-It-All NAS for 2025!.mp4", false, false, 98, ~U[2025-04-20 14:00:42Z], ~U[2026-08-05 01:31:38Z], ~U[2026-08-05 01:31:38Z], "Today I'm covering the build and configuration of my latest home media server/NAS/docker server which I setup for 2025. It's a beast! #nas #docker #plex \n\nHome Assistant OS follow up video - https://youtu.be/GPWMhshEqgw\n\nReddit Proxmox GPU Passthrough Guide: https://www.reddit.com/r/homelab/s/gbNOgMTpBu\nSATA HBA: https://s.click.aliexpress.com/e/_c2RTJ9Jj\n\n0:00 Intro\n0:30 Background\n1:50 The hardware\n4:14 Proxmox installation\n5:53 TrueNAS installation\n10:10 Debian installation\n12:50 Windows installation\n15:22 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The Do-It-All NAS for 2025!", 58, 1015, false, "VBUvEMswD30", "https://www.youtube.com/watch?v=VBUvEMswD30", "/downloads/Maker HQ/Season 2025/s2025e042000 - The Do-It-All NAS for 2025!.mp4", false, ~U[2025-04-20 14:00:42Z]] 03:31:38.185 [debug] QUERY OK source="sources" db=0.2ms idle=168.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:38.185 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:38.186 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547429] 03:31:38.186 [debug] Current batch of media processed. Will check again in 1000ms 03:31:39.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I conclude a near year-long project to make a place for my 'DIY' and bought watches. Unfortunately, the conclusion to this project was both long overdue and undesirable. #cnc #diy #watches \n\nCNC Build Part Two: https://www.youtube.com/watch?v=q6ENkn8oJ0g\nCNC Build Part One: https://www.youtube.com/watch?v=jCcx8ZpHpfs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 707, "filename" => "/downloads/Maker HQ/Season 2025/s2025e033000 - Failing at the hands of my CNC router.mp4", "id" => "aaDv3EJpCq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aaDv3EJpCq4", "playlist_index" => 15, "timestamp" => 1743339605, "title" => "Failing at the hands of my CNC router", "upload_date" => "20250330"} 03:31:39.187 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:39.188 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:39.188 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 13:00:05Z], 58] 03:31:39.198 [debug] QUERY OK source="media_items" db=10.0ms idle=176.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I conclude a near year-long project to make a place for my 'DIY' and bought watches. Unfortunately, the conclusion to this project was both long overdue and undesirable. #cnc #diy #watches \n\nCNC Build Part Two: https://www.youtube.com/watch?v=q6ENkn8oJ0g\nCNC Build Part One: https://www.youtube.com/watch?v=jCcx8ZpHpfs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Failing at the hands of my CNC router", "0f006620-019e-43a6-98e9-d96ddaf0a375", false, 58, [], 707, false, "aaDv3EJpCq4", "https://www.youtube.com/watch?v=aaDv3EJpCq4", 15, "/downloads/Maker HQ/Season 2025/s2025e033000 - Failing at the hands of my CNC router.mp4", false, false, 98, ~U[2025-03-30 13:00:05Z], ~U[2026-08-05 01:31:39Z], ~U[2026-08-05 01:31:39Z], "Today I conclude a near year-long project to make a place for my 'DIY' and bought watches. Unfortunately, the conclusion to this project was both long overdue and undesirable. #cnc #diy #watches \n\nCNC Build Part Two: https://www.youtube.com/watch?v=q6ENkn8oJ0g\nCNC Build Part One: https://www.youtube.com/watch?v=jCcx8ZpHpfs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Failing at the hands of my CNC router", 58, 707, false, "aaDv3EJpCq4", "https://www.youtube.com/watch?v=aaDv3EJpCq4", "/downloads/Maker HQ/Season 2025/s2025e033000 - Failing at the hands of my CNC router.mp4", false, ~U[2025-03-30 13:00:05Z]] 03:31:39.199 [debug] QUERY OK source="sources" db=0.1ms idle=181.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:39.199 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:39.199 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547430] 03:31:39.199 [debug] Current batch of media processed. Will check again in 1000ms 03:31:40.200 [debug] Current batch of media processed. Will check again in 1000ms 03:31:41.201 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this quick #nocommentary video I'm assembling, painting and weathering Starlord's Quadblaster! #3dprinting #prop #diy #guardiansofthegalaxy #starlord\n\nMakerworld profile: https://makerworld.com/models/856321\n\n0:00 Prepping the printed parts\n0:24 Rub 'n' buff\n0:50 Assembly\n2:00 Painting\n2:44 Weathering\n3:19 Finished prop\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 226, "filename" => "/downloads/Maker HQ/Season 2025/s2025e031600 - 3D Printed Starlord Quadblaster Build.mp4", "id" => "4xsRgvjVn3s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4xsRgvjVn3s", "playlist_index" => 16, "timestamp" => 1742151602, "title" => "3D Printed Starlord Quadblaster Build", "upload_date" => "20250316"} 03:31:41.202 [debug] QUERY OK source="sources" db=0.1ms idle=426.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:41.202 [debug] QUERY OK source="sources" db=0.1ms idle=426.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:41.202 [debug] QUERY OK source="media_items" db=0.3ms idle=427.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-16 19:00:02Z], 58] 03:31:41.205 [debug] QUERY OK source="media_items" db=2.0ms idle=189.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this quick #nocommentary video I'm assembling, painting and weathering Starlord's Quadblaster! #3dprinting #prop #diy #guardiansofthegalaxy #starlord\n\nMakerworld profile: https://makerworld.com/models/856321\n\n0:00 Prepping the printed parts\n0:24 Rub 'n' buff\n0:50 Assembly\n2:00 Painting\n2:44 Weathering\n3:19 Finished prop\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D Printed Starlord Quadblaster Build", "cb65c4a2-8640-4bd1-888f-d334e398f76f", false, 58, [], 226, false, "4xsRgvjVn3s", "https://www.youtube.com/watch?v=4xsRgvjVn3s", 16, "/downloads/Maker HQ/Season 2025/s2025e031600 - 3D Printed Starlord Quadblaster Build.mp4", false, false, 98, ~U[2025-03-16 19:00:02Z], ~U[2026-08-05 01:31:41Z], ~U[2026-08-05 01:31:41Z], "In this quick #nocommentary video I'm assembling, painting and weathering Starlord's Quadblaster! #3dprinting #prop #diy #guardiansofthegalaxy #starlord\n\nMakerworld profile: https://makerworld.com/models/856321\n\n0:00 Prepping the printed parts\n0:24 Rub 'n' buff\n0:50 Assembly\n2:00 Painting\n2:44 Weathering\n3:19 Finished prop\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D Printed Starlord Quadblaster Build", 58, 226, false, "4xsRgvjVn3s", "https://www.youtube.com/watch?v=4xsRgvjVn3s", "/downloads/Maker HQ/Season 2025/s2025e031600 - 3D Printed Starlord Quadblaster Build.mp4", false, ~U[2025-03-16 19:00:02Z]] 03:31:41.205 [debug] QUERY OK source="sources" db=0.1ms idle=185.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:41.206 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:41.206 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547433] 03:31:41.206 [debug] Current batch of media processed. Will check again in 1000ms 03:31:42.207 [debug] Current batch of media processed. Will check again in 1000ms 03:31:43.208 [debug] Current batch of media processed. Will check again in 1000ms 03:31:44.209 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I'm looking at gaming on a budget to find out whether you really need the latest and greatest just to enjoy pwning noobs. #rtx50 #gaming #pcbuild #benchmark \n\nMotherboard: https://vi.aliexpress.com/item/1005006826619777.html?spm=a2g0o.order_list.order_list_main.131.21ef18026CxEvl&gatewayAdapt=glo2vnm\nRAM: https://s.click.aliexpress.com/e/_o2DOzMA\n\n0:00 Intro\n0:30 What I'm building\n1:30 The build\n4:10 Crysis\n4:34 CS2\n4:50 PUBG\n5:05 Assetto Corsa\n5:25 Cyberpunk 2077\n5:45 Trackmania\n5:54 Kerbal Space Program\n6:10 Perfomrance Summary\n6:27 Build Cost\n6:34 Conclusion\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 472, "filename" => "/downloads/Maker HQ/Season 2025/s2025e030200 - Why I'm not buying an RTX50-series graphics card....mp4", "id" => "a70_KqGxekw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a70_KqGxekw", "playlist_index" => 17, "timestamp" => 1740942000, "title" => "Why I'm not buying an RTX50-series graphics card...", "upload_date" => "20250302"} 03:31:44.210 [debug] QUERY OK source="sources" db=0.2ms idle=1434.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:44.210 [debug] QUERY OK source="sources" db=0.1ms idle=1194.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:44.211 [debug] QUERY OK source="media_items" db=0.3ms idle=1188.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-02 19:00:00Z], 58] 03:31:44.212 [debug] QUERY OK source="media_items" db=0.9ms idle=194.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm looking at gaming on a budget to find out whether you really need the latest and greatest just to enjoy pwning noobs. #rtx50 #gaming #pcbuild #benchmark \n\nMotherboard: https://vi.aliexpress.com/item/1005006826619777.html?spm=a2g0o.order_list.order_list_main.131.21ef18026CxEvl&gatewayAdapt=glo2vnm\nRAM: https://s.click.aliexpress.com/e/_o2DOzMA\n\n0:00 Intro\n0:30 What I'm building\n1:30 The build\n4:10 Crysis\n4:34 CS2\n4:50 PUBG\n5:05 Assetto Corsa\n5:25 Cyberpunk 2077\n5:45 Trackmania\n5:54 Kerbal Space Program\n6:10 Perfomrance Summary\n6:27 Build Cost\n6:34 Conclusion\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Why I'm not buying an RTX50-series graphics card...", "bad64068-c9e7-412c-9fc4-170099ed6bc5", false, 58, [], 472, false, "a70_KqGxekw", "https://www.youtube.com/watch?v=a70_KqGxekw", 17, "/downloads/Maker HQ/Season 2025/s2025e030200 - Why I'm not buying an RTX50-series graphics card....mp4", false, false, 98, ~U[2025-03-02 19:00:00Z], ~U[2026-08-05 01:31:44Z], ~U[2026-08-05 01:31:44Z], "Today I'm looking at gaming on a budget to find out whether you really need the latest and greatest just to enjoy pwning noobs. #rtx50 #gaming #pcbuild #benchmark \n\nMotherboard: https://vi.aliexpress.com/item/1005006826619777.html?spm=a2g0o.order_list.order_list_main.131.21ef18026CxEvl&gatewayAdapt=glo2vnm\nRAM: https://s.click.aliexpress.com/e/_o2DOzMA\n\n0:00 Intro\n0:30 What I'm building\n1:30 The build\n4:10 Crysis\n4:34 CS2\n4:50 PUBG\n5:05 Assetto Corsa\n5:25 Cyberpunk 2077\n5:45 Trackmania\n5:54 Kerbal Space Program\n6:10 Perfomrance Summary\n6:27 Build Cost\n6:34 Conclusion\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Why I'm not buying an RTX50-series graphics card...", 58, 472, false, "a70_KqGxekw", "https://www.youtube.com/watch?v=a70_KqGxekw", "/downloads/Maker HQ/Season 2025/s2025e030200 - Why I'm not buying an RTX50-series graphics card....mp4", false, ~U[2025-03-02 19:00:00Z]] 03:31:44.212 [debug] QUERY OK source="sources" db=0.1ms idle=189.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:44.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:44.214 [debug] QUERY OK source="media_items" db=0.9ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547455] 03:31:44.214 [debug] Current batch of media processed. Will check again in 1000ms 03:31:45.214 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today's video pits 4 different electric screwdrivers, including the current favourite, the Xioami Mijia Electric Screwdriver #screwdriver #xiaomi #comparison #versus \n\nXioami: https://s.click.aliexpress.com/e/_oFlabbF *** Overall winner *** \nPrecision: https://s.click.aliexpress.com/e/_ooby4o1 Good alternative with work light and quiet operation\nRddspon: https://s.click.aliexpress.com/e/_opdISKz Good alternative with work light and two-speed driving\n28 in 1: https://s.click.aliexpress.com/e/_oBUZ5Nn Not recommended\n\n0:00 Intro\n0:42 The contenders\n0:55 Unboxing\n4:10 RPM test\n4:29 Battery life test\n5:39 Noise test\n6:09 Torque comparison\n6:37 Ergonomics comparison\n7:50 Durability test\n9:15 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 640, "filename" => "/downloads/Maker HQ/Season 2025/s2025e020900 - Does this Xiaomi driver still offer the best value for money?.mp4", "id" => "WlD_pAQS4Cg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WlD_pAQS4Cg", "playlist_index" => 18, "timestamp" => 1739127630, "title" => "Does this Xiaomi driver still offer the best value for money?", "upload_date" => "20250209"} 03:31:45.214 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:45.215 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:45.215 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-09 19:00:30Z], 58] 03:31:45.226 [debug] QUERY OK source="media_items" db=10.3ms idle=197.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today's video pits 4 different electric screwdrivers, including the current favourite, the Xioami Mijia Electric Screwdriver #screwdriver #xiaomi #comparison #versus \n\nXioami: https://s.click.aliexpress.com/e/_oFlabbF *** Overall winner *** \nPrecision: https://s.click.aliexpress.com/e/_ooby4o1 Good alternative with work light and quiet operation\nRddspon: https://s.click.aliexpress.com/e/_opdISKz Good alternative with work light and two-speed driving\n28 in 1: https://s.click.aliexpress.com/e/_oBUZ5Nn Not recommended\n\n0:00 Intro\n0:42 The contenders\n0:55 Unboxing\n4:10 RPM test\n4:29 Battery life test\n5:39 Noise test\n6:09 Torque comparison\n6:37 Ergonomics comparison\n7:50 Durability test\n9:15 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Does this Xiaomi driver still offer the best value for money?", "71f49990-5453-43cd-9da5-663f62b6f467", false, 58, [], 640, false, "WlD_pAQS4Cg", "https://www.youtube.com/watch?v=WlD_pAQS4Cg", 18, "/downloads/Maker HQ/Season 2025/s2025e020900 - Does this Xiaomi driver still offer the best value for money?.mp4", false, false, 98, ~U[2025-02-09 19:00:30Z], ~U[2026-08-05 01:31:45Z], ~U[2026-08-05 01:31:45Z], "Today's video pits 4 different electric screwdrivers, including the current favourite, the Xioami Mijia Electric Screwdriver #screwdriver #xiaomi #comparison #versus \n\nXioami: https://s.click.aliexpress.com/e/_oFlabbF *** Overall winner *** \nPrecision: https://s.click.aliexpress.com/e/_ooby4o1 Good alternative with work light and quiet operation\nRddspon: https://s.click.aliexpress.com/e/_opdISKz Good alternative with work light and two-speed driving\n28 in 1: https://s.click.aliexpress.com/e/_oBUZ5Nn Not recommended\n\n0:00 Intro\n0:42 The contenders\n0:55 Unboxing\n4:10 RPM test\n4:29 Battery life test\n5:39 Noise test\n6:09 Torque comparison\n6:37 Ergonomics comparison\n7:50 Durability test\n9:15 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Does this Xiaomi driver still offer the best value for money?", 58, 640, false, "WlD_pAQS4Cg", "https://www.youtube.com/watch?v=WlD_pAQS4Cg", "/downloads/Maker HQ/Season 2025/s2025e020900 - Does this Xiaomi driver still offer the best value for money?.mp4", false, ~U[2025-02-09 19:00:30Z]] 03:31:45.226 [debug] QUERY OK source="sources" db=0.1ms idle=202.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:45.226 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:45.227 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547456] 03:31:45.227 [debug] Current batch of media processed. Will check again in 1000ms 03:31:46.228 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is how I spent my Christmas break... decluttering, cleaning, painting and more. But oh was it worth it. #diy #workbench #renovation #woodworking\n\n0:00 Intro\n0:20 What I'm doing\n0:45 The clean up\n1:45 'Prettification'\n2:28 Quick Bunnings trip\n2:37 Building my new bench\n5:15 Adding some 'accoutrements'\n6:39 The result\n7:18 Summary\n8:53 Bloopers\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "duration" => 547, "filename" => "/downloads/Maker HQ/Season 2025/s2025e012100 - Transforming My Garage + Budget DIY Workbench Build.mp4", "id" => "-_e03MVx_7Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-_e03MVx_7Y", "playlist_index" => 19, "timestamp" => 1737486000, "title" => "Transforming My Garage + Budget DIY Workbench Build", "upload_date" => "20250121"} 03:31:46.228 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:46.229 [debug] QUERY OK source="sources" db=0.0ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:46.229 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-21 19:00:00Z], 58] 03:31:46.230 [debug] QUERY OK source="media_items" db=0.7ms idle=210.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is how I spent my Christmas break... decluttering, cleaning, painting and more. But oh was it worth it. #diy #workbench #renovation #woodworking\n\n0:00 Intro\n0:20 What I'm doing\n0:45 The clean up\n1:45 'Prettification'\n2:28 Quick Bunnings trip\n2:37 Building my new bench\n5:15 Adding some 'accoutrements'\n6:39 The result\n7:18 Summary\n8:53 Bloopers\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Transforming My Garage + Budget DIY Workbench Build", "e3a0a061-a74b-409d-bf26-84434c8d4299", false, 58, [], 547, false, "-_e03MVx_7Y", "https://www.youtube.com/watch?v=-_e03MVx_7Y", 19, "/downloads/Maker HQ/Season 2025/s2025e012100 - Transforming My Garage + Budget DIY Workbench Build.mp4", false, false, 98, ~U[2025-01-21 19:00:00Z], ~U[2026-08-05 01:31:46Z], ~U[2026-08-05 01:31:46Z], "This is how I spent my Christmas break... decluttering, cleaning, painting and more. But oh was it worth it. #diy #workbench #renovation #woodworking\n\n0:00 Intro\n0:20 What I'm doing\n0:45 The clean up\n1:45 'Prettification'\n2:28 Quick Bunnings trip\n2:37 Building my new bench\n5:15 Adding some 'accoutrements'\n6:39 The result\n7:18 Summary\n8:53 Bloopers\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Transforming My Garage + Budget DIY Workbench Build", 58, 547, false, "-_e03MVx_7Y", "https://www.youtube.com/watch?v=-_e03MVx_7Y", "/downloads/Maker HQ/Season 2025/s2025e012100 - Transforming My Garage + Budget DIY Workbench Build.mp4", false, ~U[2025-01-21 19:00:00Z]] 03:31:46.230 [debug] QUERY OK source="sources" db=0.1ms idle=205.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:46.231 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:46.231 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547457] 03:31:46.231 [debug] Current batch of media processed. Will check again in 1000ms 03:31:46.823 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:47.232 [debug] Current batch of media processed. Will check again in 1000ms 03:31:47.640 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Maker_HQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Maker HQ/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/2b/2e/2b2e7073c5f08b0030b3393387fa038a15b37fb49f3b5cb16a70f163c0e28693.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a9/4e/a94e2a468a6afc68423965752f9b3ef5329d6c2a45247d3b90895b2d287c9fd7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:31:47.640 [debug] Gracefully stopping file follower 03:31:47.641 [debug] QUERY OK source="sources" db=0.2ms idle=1409.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [58] 03:31:47.641 [debug] QUERY OK source="sources" db=0.1ms idle=1409.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.642 [debug] QUERY OK source="media_items" db=0.4ms idle=818.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 13:00:50Z], 58] 03:31:47.643 [debug] QUERY OK source="media_items" db=0.8ms idle=622.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm giving you guys an overview of 18650 cell recycling - where I source them, how I source them and why I source them! #18650 #recycling #ewaste #battery \n\nNP-F Case 3D print: https://makerworld.com/en/models/2409386-np-f-case-cover-for-2s2p-18650s-pack#profileId-2641555\nMy spot welder: https://s.click.aliexpress.com/e/_c3O0HQlH\nBattery tester: https://s.click.aliexpress.com/e/_c3HG7ESR\n\n0:00 Intro\n0:30 Overview\n1:08 Why you'd want to do this\n1:49 How I'm using 18650s today\n2:35 Where you can get cells\n3:48 How you need to check them\n6:42 Making them look pretty\n7:18 'Level 3' pack build\n8:24 Outro\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This is why I keep every battery pack...", "40e149b2-0656-4b01-8647-347cf75a4c76", false, 58, [], 531, false, "QFsUYAhaBXE", "https://www.youtube.com/watch?v=QFsUYAhaBXE", 1, "/downloads/Maker HQ/Season 2026/s2026e032200 - This is why I keep every battery pack....mp4", false, false, 98, ~U[2026-03-22 13:00:50Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I'm giving you guys an overview of 18650 cell recycling - where I source them, how I source them and why I source them! #18650 #recycling #ewaste #battery \n\nNP-F Case 3D print: https://makerworld.com/en/models/2409386-np-f-case-cover-for-2s2p-18650s-pack#profileId-2641555\nMy spot welder: https://s.click.aliexpress.com/e/_c3O0HQlH\nBattery tester: https://s.click.aliexpress.com/e/_c3HG7ESR\n\n0:00 Intro\n0:30 Overview\n1:08 Why you'd want to do this\n1:49 How I'm using 18650s today\n2:35 Where you can get cells\n3:48 How you need to check them\n6:42 Making them look pretty\n7:18 'Level 3' pack build\n8:24 Outro\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This is why I keep every battery pack...", 58, 531, false, "QFsUYAhaBXE", "https://www.youtube.com/watch?v=QFsUYAhaBXE", "/downloads/Maker HQ/Season 2026/s2026e032200 - This is why I keep every battery pack....mp4", false, ~U[2026-03-22 13:00:50Z]] 03:31:47.643 [debug] QUERY OK source="sources" db=0.1ms idle=617.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.643 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 13:00:15Z], 58] 03:31:47.644 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Adulting can be boring. Today I'm going to fix that (maybe) by customising a plain pair of shoes with paint markers! #diy #trainers #shoes #coloring\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the custom shoes I've always wanted", "0287d0fd-7605-49bb-b3cf-3ddcfe00ba80", false, 58, [], 392, false, "4vB8VNLNxWo", "https://www.youtube.com/watch?v=4vB8VNLNxWo", 2, "/downloads/Maker HQ/Season 2026/s2026e022200 - Making the custom shoes I've always wanted.mp4", false, false, 98, ~U[2026-02-22 13:00:15Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Adulting can be boring. Today I'm going to fix that (maybe) by customising a plain pair of shoes with paint markers! #diy #trainers #shoes #coloring\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the custom shoes I've always wanted", 58, 392, false, "4vB8VNLNxWo", "https://www.youtube.com/watch?v=4vB8VNLNxWo", "/downloads/Maker HQ/Season 2026/s2026e022200 - Making the custom shoes I've always wanted.mp4", false, ~U[2026-02-22 13:00:15Z]] 03:31:47.645 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.645 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-01 13:01:10Z], 58] 03:31:47.646 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I look at two Router OS options to install on the brand new Zimaboard 2, to replace an ageing ASUS unit. #zimaboard #router\n\nPickup a Zimaboard 2 (or anything else) here: https://bit.ly/4pNiIdY & use code *MakerHQ15* for US$15 off!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "What can't the Zimaboard 2 do?", "50b9a2bf-90e4-44bb-bf3c-ca1d9fd37c78", false, 58, [], 544, false, "_aQ2u3RTjMk", "https://www.youtube.com/watch?v=_aQ2u3RTjMk", 3, "/downloads/Maker HQ/Season 2026/s2026e020100 - What can't the Zimaboard 2 do?.mp4", false, false, 98, ~U[2026-02-01 13:01:10Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I look at two Router OS options to install on the brand new Zimaboard 2, to replace an ageing ASUS unit. #zimaboard #router\n\nPickup a Zimaboard 2 (or anything else) here: https://bit.ly/4pNiIdY & use code *MakerHQ15* for US$15 off!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "What can't the Zimaboard 2 do?", 58, 544, false, "_aQ2u3RTjMk", "https://www.youtube.com/watch?v=_aQ2u3RTjMk", "/downloads/Maker HQ/Season 2026/s2026e020100 - What can't the Zimaboard 2 do?.mp4", false, ~U[2026-02-01 13:01:10Z]] 03:31:47.646 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.647 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 13:00:00Z], 58] 03:31:47.648 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm re-architecting my network with some 10 gigabit hardware in cute & configurable 3D printed 10\" mini rack!\n\nMini rack: https://makerworld.com/en/models/1452571-modular-10-server-rack#profileId-1513461\n\nHoraco Switch: https://s.click.aliexpress.com/e/_c3l7Rlt1\n\nHoraco Switch Rack Panel: https://makerworld.com/en/models/1936335-horaco-4xrj45-2xsfp-switch-10-rack-shelf-lite#profileId-2079133\nTP Link LS105 POE Switch Rack Panel: https://makerworld.com/en/models/1912225-tp-link-litewave-ls105g-gp-10-rack-shelf-lite#profileId-2050704\nLSI 9211-8i Fan Shroud: https://makerworld.com/en/models/1999210-lsi-9211-8i-fan-bracket#profileId-2152362\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Harnessing the power of 10 Gigabit!", "912e1402-580b-441d-9a3d-8d6cbe657594", false, 58, [], 585, false, "-BoJXmEUQuU", "https://www.youtube.com/watch?v=-BoJXmEUQuU", 4, "/downloads/Maker HQ/Season 2026/s2026e011100 - Harnessing the power of 10 Gigabit!.mp4", false, false, 98, ~U[2026-01-11 13:00:00Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I'm re-architecting my network with some 10 gigabit hardware in cute & configurable 3D printed 10\" mini rack!\n\nMini rack: https://makerworld.com/en/models/1452571-modular-10-server-rack#profileId-1513461\n\nHoraco Switch: https://s.click.aliexpress.com/e/_c3l7Rlt1\n\nHoraco Switch Rack Panel: https://makerworld.com/en/models/1936335-horaco-4xrj45-2xsfp-switch-10-rack-shelf-lite#profileId-2079133\nTP Link LS105 POE Switch Rack Panel: https://makerworld.com/en/models/1912225-tp-link-litewave-ls105g-gp-10-rack-shelf-lite#profileId-2050704\nLSI 9211-8i Fan Shroud: https://makerworld.com/en/models/1999210-lsi-9211-8i-fan-bracket#profileId-2152362\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Harnessing the power of 10 Gigabit!", 58, 585, false, "-BoJXmEUQuU", "https://www.youtube.com/watch?v=-BoJXmEUQuU", "/downloads/Maker HQ/Season 2026/s2026e011100 - Harnessing the power of 10 Gigabit!.mp4", false, ~U[2026-01-11 13:00:00Z]] 03:31:47.648 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.649 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 13:00:52Z], 58] 03:31:47.650 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how you can take this extremely affordable clock/weather station and use it within your Home Assistant ecosystem through flashing it with ESPHome!\n\nGeekMagic SmallTV Ultra (this device, ESP8266): https://s.click.aliexpress.com/e/_c2wUxtk3\nGeekMagic SmallTV Pro (ESP32): https://s.click.aliexpress.com/e/_c2Qlo7hL\n\nConfiguration file (ESP8266-specific): https://www.dropbox.com/scl/fi/9t175rsb23n8anikfplcg/ultratv.yaml?rlkey=au79zg7flndf2dz2g2uq598v4&dl=0\n\nHome Assistant Forum Thread: https://community.home-assistant.io/t/installing-esphome-on-geekmagic-smart-weather-clock-smalltv-pro/618029/164\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This $16 device is a must-have for any Home Assistant user", "8c0d96ba-545a-4b54-aecd-62bbc1b6ca5e", false, 58, [], 303, false, "S1Q9PZ95SDM", "https://www.youtube.com/watch?v=S1Q9PZ95SDM", 5, "/downloads/Maker HQ/Season 2025/s2025e113000 - This $16 device is a must-have for any Home Assistant user.mp4", false, false, 98, ~U[2025-11-30 13:00:52Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "In this video I show you how you can take this extremely affordable clock/weather station and use it within your Home Assistant ecosystem through flashing it with ESPHome!\n\nGeekMagic SmallTV Ultra (this device, ESP8266): https://s.click.aliexpress.com/e/_c2wUxtk3\nGeekMagic SmallTV Pro (ESP32): https://s.click.aliexpress.com/e/_c2Qlo7hL\n\nConfiguration file (ESP8266-specific): https://www.dropbox.com/scl/fi/9t175rsb23n8anikfplcg/ultratv.yaml?rlkey=au79zg7flndf2dz2g2uq598v4&dl=0\n\nHome Assistant Forum Thread: https://community.home-assistant.io/t/installing-esphome-on-geekmagic-smart-weather-clock-smalltv-pro/618029/164\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "This $16 device is a must-have for any Home Assistant user", 58, 303, false, "S1Q9PZ95SDM", "https://www.youtube.com/watch?v=S1Q9PZ95SDM", "/downloads/Maker HQ/Season 2025/s2025e113000 - This $16 device is a must-have for any Home Assistant user.mp4", false, ~U[2025-11-30 13:00:52Z]] 03:31:47.650 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.651 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 13:01:05Z], 58] 03:31:47.651 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I set out to make something and end up with something else instead!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D printing can't make this!", "ec46645d-2c07-48e2-b065-526ca876de22", false, 58, [], 491, false, "UmIbG5bRd9g", "https://www.youtube.com/watch?v=UmIbG5bRd9g", 6, "/downloads/Maker HQ/Season 2025/s2025e111300 - 3D printing can't make this!.mp4", false, false, 98, ~U[2025-11-13 13:01:05Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I set out to make something and end up with something else instead!\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D printing can't make this!", 58, 491, false, "UmIbG5bRd9g", "https://www.youtube.com/watch?v=UmIbG5bRd9g", "/downloads/Maker HQ/Season 2025/s2025e111300 - 3D printing can't make this!.mp4", false, ~U[2025-11-13 13:01:05Z]] 03:31:47.652 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.652 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 11:03:49Z], 58] 03:31:47.653 [debug] QUERY OK source="media_items" db=0.9ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Join me as I create a creepy prop with both fog and underglow for this year's Halloween celebrations!\n\nCauldron model: https://makerworld.com/en/models/1769460\nUSB humidifer: https://s.click.aliexpress.com/e/_c4FDy2Xl\n18650 UPS (5V): https://s.click.aliexpress.com/e/_c2yEe1Cj\nESP32 Dev Board: https://s.click.aliexpress.com/e/_c4T7V4A7\nWS2812(B) LED Strip: https://www.aliexpress.com/item/1005007982624217.html\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "No-one will dare take your Halloween candy from this...", "d8e8b259-9b2b-4d1f-a5f2-6bc663c8b5e4", false, 58, [], 367, false, "IofeD7eNjoE", "https://www.youtube.com/watch?v=IofeD7eNjoE", 7, "/downloads/Maker HQ/Season 2025/s2025e110100 - No-one will dare take your Halloween candy from this....mp4", false, false, 98, ~U[2025-11-01 11:03:49Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Join me as I create a creepy prop with both fog and underglow for this year's Halloween celebrations!\n\nCauldron model: https://makerworld.com/en/models/1769460\nUSB humidifer: https://s.click.aliexpress.com/e/_c4FDy2Xl\n18650 UPS (5V): https://s.click.aliexpress.com/e/_c2yEe1Cj\nESP32 Dev Board: https://s.click.aliexpress.com/e/_c4T7V4A7\nWS2812(B) LED Strip: https://www.aliexpress.com/item/1005007982624217.html\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "No-one will dare take your Halloween candy from this...", 58, 367, false, "IofeD7eNjoE", "https://www.youtube.com/watch?v=IofeD7eNjoE", "/downloads/Maker HQ/Season 2025/s2025e110100 - No-one will dare take your Halloween candy from this....mp4", false, ~U[2025-11-01 11:03:49Z]] 03:31:47.654 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.654 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-21 14:00:35Z], 58] 03:31:47.655 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm assembling a bespoke watch using an incredible 40mm Titanium watch case and sunburst blue dial #watchbuild #diy\n\nCase: https://s.click.aliexpress.com/e/_onUncFt\nMovement (3.8): https://s.click.aliexpress.com/e/_oEVOxT5\nDial: https://s.click.aliexpress.com/e/_oBsoY7p\nHands: https://s.click.aliexpress.com/e/_oE5s4JZ\nBand: https://www.aliexpress.com/item/1005002460521364.html?spm=a2g0o.order_list.order_list_main.95.21ef1802AU9d4g\n\nTiffany watches: https://www.gczgo.shop/?path=page/ggitem&ggpid=4630953\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The most remarkable watch I've made so far...", "f36e9e7f-1141-4bc2-a4f1-8bd5b62396bc", false, 58, [], 272, false, "KoDVftoOr48", "https://www.youtube.com/watch?v=KoDVftoOr48", 8, "/downloads/Maker HQ/Season 2025/s2025e092100 - The most remarkable watch I've made so far....mp4", false, false, 98, ~U[2025-09-21 14:00:35Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I'm assembling a bespoke watch using an incredible 40mm Titanium watch case and sunburst blue dial #watchbuild #diy\n\nCase: https://s.click.aliexpress.com/e/_onUncFt\nMovement (3.8): https://s.click.aliexpress.com/e/_oEVOxT5\nDial: https://s.click.aliexpress.com/e/_oBsoY7p\nHands: https://s.click.aliexpress.com/e/_oE5s4JZ\nBand: https://www.aliexpress.com/item/1005002460521364.html?spm=a2g0o.order_list.order_list_main.95.21ef1802AU9d4g\n\nTiffany watches: https://www.gczgo.shop/?path=page/ggitem&ggpid=4630953\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The most remarkable watch I've made so far...", 58, 272, false, "KoDVftoOr48", "https://www.youtube.com/watch?v=KoDVftoOr48", "/downloads/Maker HQ/Season 2025/s2025e092100 - The most remarkable watch I've made so far....mp4", false, ~U[2025-09-21 14:00:35Z]] 03:31:47.656 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.656 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 14:00:20Z], 58] 03:31:47.657 [debug] QUERY OK source="media_items" db=0.8ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to demand, today I'm covering the install, setup and a demo of HAOS on my Proxmox NAS/Media Server!\n\nHAOS download command: wget https://github.com/home-assistant/operating-system/releases/download/yyy/haos_ova-yyy.qcow2.xz (where yyy is the image version)\nHAOS decompress command: unxz haos_ova-yyy.qcow2 (where yyy is the image version)\nHAOS import command: qm importdisk xxx haos_ova-yyy.qcow2 local-lvm (where xxx is the VM ID and yyy is the image version)\n\nZigbee co-ordinator: https://s.click.aliexpress.com/e/_oD7qwLF\nZigbee irrigation switch: https://s.click.aliexpress.com/e/_oCwwdIH\nZigbee radar sensor: https://s.click.aliexpress.com/e/_oDGOvO5\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Home Automation on my Proxmox NAS!", "498b6ad7-a05a-4e4e-aa5f-174b60f9e0f6", false, 58, [], 557, false, "GPWMhshEqgw", "https://www.youtube.com/watch?v=GPWMhshEqgw", 9, "/downloads/Maker HQ/Season 2025/s2025e083000 - Home Automation on my Proxmox NAS!.mp4", false, false, 98, ~U[2025-08-30 14:00:20Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Thanks to demand, today I'm covering the install, setup and a demo of HAOS on my Proxmox NAS/Media Server!\n\nHAOS download command: wget https://github.com/home-assistant/operating-system/releases/download/yyy/haos_ova-yyy.qcow2.xz (where yyy is the image version)\nHAOS decompress command: unxz haos_ova-yyy.qcow2 (where yyy is the image version)\nHAOS import command: qm importdisk xxx haos_ova-yyy.qcow2 local-lvm (where xxx is the VM ID and yyy is the image version)\n\nZigbee co-ordinator: https://s.click.aliexpress.com/e/_oD7qwLF\nZigbee irrigation switch: https://s.click.aliexpress.com/e/_oCwwdIH\nZigbee radar sensor: https://s.click.aliexpress.com/e/_oDGOvO5\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Home Automation on my Proxmox NAS!", 58, 557, false, "GPWMhshEqgw", "https://www.youtube.com/watch?v=GPWMhshEqgw", "/downloads/Maker HQ/Season 2025/s2025e083000 - Home Automation on my Proxmox NAS!.mp4", false, ~U[2025-08-30 14:00:20Z]] 03:31:47.658 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.658 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-15 14:00:56Z], 58] 03:31:47.659 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With the #ninja #creami on sale recently, I decided to pick one up in order to create whatever #icecream my heart desires... good or bad. Today we're trying a host of DIY flavours - with common and not-so-common ice-cream ingredients!\n\n0:00 Intro\n0:42 Ingredient selection and plan\n2:33 Good: Tim Tam\n4:10 Bad: Tim Tam and Twisties\n5:46 Good: Biscoff\n6:55 Bad: Salted Biscoff\n8:14 Good: Peanut Butter\n8:38 Bad: Peanut Butter and Vegemite\n9:47 Good: Nutella\n10:29 Bad: Nutella and Shapes\n12:30 Good: Choc Chip\n12:54 Bad: Choc Chip and Hot Sauce\n14:40 Recap\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the very-best & horribly-worst ice-creams!", "2252c0f9-20eb-40fe-aa09-6f5f77680f47", false, 58, [], 945, false, "Z55uhoSJhaU", "https://www.youtube.com/watch?v=Z55uhoSJhaU", 10, "/downloads/Maker HQ/Season 2025/s2025e071500 - Making the very-best & horribly-worst ice-creams!.mp4", false, false, 98, ~U[2025-07-15 14:00:56Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "With the #ninja #creami on sale recently, I decided to pick one up in order to create whatever #icecream my heart desires... good or bad. Today we're trying a host of DIY flavours - with common and not-so-common ice-cream ingredients!\n\n0:00 Intro\n0:42 Ingredient selection and plan\n2:33 Good: Tim Tam\n4:10 Bad: Tim Tam and Twisties\n5:46 Good: Biscoff\n6:55 Bad: Salted Biscoff\n8:14 Good: Peanut Butter\n8:38 Bad: Peanut Butter and Vegemite\n9:47 Good: Nutella\n10:29 Bad: Nutella and Shapes\n12:30 Good: Choc Chip\n12:54 Bad: Choc Chip and Hot Sauce\n14:40 Recap\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Making the very-best & horribly-worst ice-creams!", 58, 945, false, "Z55uhoSJhaU", "https://www.youtube.com/watch?v=Z55uhoSJhaU", "/downloads/Maker HQ/Season 2025/s2025e071500 - Making the very-best & horribly-worst ice-creams!.mp4", false, ~U[2025-07-15 14:00:56Z]] 03:31:47.659 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.660 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-15 14:00:22Z], 58] 03:31:47.661 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I had to travel not to America, but to a local pop-up to find a Disneyland Spirit Jersey that I actually liked... well almost like. But I think I will LOVE it after what I do in today's video! #tiedye #disney #jersey #diy \n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Personalising any garment with Tie Dyeing", "2c944cfc-d945-4450-abdb-3e24632fc2bf", false, 58, [], 313, false, "8P40294QSbI", "https://www.youtube.com/watch?v=8P40294QSbI", 11, "/downloads/Maker HQ/Season 2025/s2025e061500 - Personalising any garment with Tie Dyeing.mp4", false, false, 98, ~U[2025-06-15 14:00:22Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "I had to travel not to America, but to a local pop-up to find a Disneyland Spirit Jersey that I actually liked... well almost like. But I think I will LOVE it after what I do in today's video! #tiedye #disney #jersey #diy \n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Personalising any garment with Tie Dyeing", 58, 313, false, "8P40294QSbI", "https://www.youtube.com/watch?v=8P40294QSbI", "/downloads/Maker HQ/Season 2025/s2025e061500 - Personalising any garment with Tie Dyeing.mp4", false, ~U[2025-06-15 14:00:22Z]] 03:31:47.661 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.661 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-25 14:00:25Z], 58] 03:31:47.662 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dream of a Hublot Integral Tourbillon Full Sapphire. But alas I'll never own one. Thankfully, 3D printing has come so far I can make my own... I think. #3dprinting #watches #diy\n\n3D model: https://makerworld.com/en/models/1448088-big-bang-watch-case-band-for-casio-g-shock#profileId-1508159\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Designing an incredible homage of an incredible watch", "672e543a-8232-48c3-a926-f344f93e9995", false, 58, [], 842, false, "M5GJ_9N8bUk", "https://www.youtube.com/watch?v=M5GJ_9N8bUk", 12, "/downloads/Maker HQ/Season 2025/s2025e052500 - Designing an incredible homage of an incredible watch.mp4", false, false, 98, ~U[2025-05-25 14:00:25Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "I dream of a Hublot Integral Tourbillon Full Sapphire. But alas I'll never own one. Thankfully, 3D printing has come so far I can make my own... I think. #3dprinting #watches #diy\n\n3D model: https://makerworld.com/en/models/1448088-big-bang-watch-case-band-for-casio-g-shock#profileId-1508159\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Designing an incredible homage of an incredible watch", 58, 842, false, "M5GJ_9N8bUk", "https://www.youtube.com/watch?v=M5GJ_9N8bUk", "/downloads/Maker HQ/Season 2025/s2025e052500 - Designing an incredible homage of an incredible watch.mp4", false, ~U[2025-05-25 14:00:25Z]] 03:31:47.663 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.663 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-09 14:00:19Z], 58] 03:31:47.666 [debug] QUERY OK source="media_items" db=2.2ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I picked up a new Weber (Q3200) recently, but the only things new about it is it's new to me. It needs some love, so let's do that with #3dprinting! #diy #weber\n\n3D model: https://makerworld.com/en/models/1388834-weber-q300-320-3000-3200-replacement-knobs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Fixing my new-old Weber with 3D Printing", "810fd03f-40df-49bf-a00d-b792069c23a9", false, 58, [], 202, false, "FG-lppSoC2Q", "https://www.youtube.com/watch?v=FG-lppSoC2Q", 13, "/downloads/Maker HQ/Season 2025/s2025e050900 - Fixing my new-old Weber with 3D Printing.mp4", false, false, 98, ~U[2025-05-09 14:00:19Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "I picked up a new Weber (Q3200) recently, but the only things new about it is it's new to me. It needs some love, so let's do that with #3dprinting! #diy #weber\n\n3D model: https://makerworld.com/en/models/1388834-weber-q300-320-3000-3200-replacement-knobs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Fixing my new-old Weber with 3D Printing", 58, 202, false, "FG-lppSoC2Q", "https://www.youtube.com/watch?v=FG-lppSoC2Q", "/downloads/Maker HQ/Season 2025/s2025e050900 - Fixing my new-old Weber with 3D Printing.mp4", false, ~U[2025-05-09 14:00:19Z]] 03:31:47.666 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.666 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 14:00:42Z], 58] 03:31:47.668 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm covering the build and configuration of my latest home media server/NAS/docker server which I setup for 2025. It's a beast! #nas #docker #plex \n\nHome Assistant OS follow up video - https://youtu.be/GPWMhshEqgw\n\nReddit Proxmox GPU Passthrough Guide: https://www.reddit.com/r/homelab/s/gbNOgMTpBu\nSATA HBA: https://s.click.aliexpress.com/e/_c2RTJ9Jj\n\n0:00 Intro\n0:30 Background\n1:50 The hardware\n4:14 Proxmox installation\n5:53 TrueNAS installation\n10:10 Debian installation\n12:50 Windows installation\n15:22 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The Do-It-All NAS for 2025!", "69721489-bd31-4757-860e-4498de129942", false, 58, [], 1015, false, "VBUvEMswD30", "https://www.youtube.com/watch?v=VBUvEMswD30", 14, "/downloads/Maker HQ/Season 2025/s2025e042000 - The Do-It-All NAS for 2025!.mp4", false, false, 98, ~U[2025-04-20 14:00:42Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I'm covering the build and configuration of my latest home media server/NAS/docker server which I setup for 2025. It's a beast! #nas #docker #plex \n\nHome Assistant OS follow up video - https://youtu.be/GPWMhshEqgw\n\nReddit Proxmox GPU Passthrough Guide: https://www.reddit.com/r/homelab/s/gbNOgMTpBu\nSATA HBA: https://s.click.aliexpress.com/e/_c2RTJ9Jj\n\n0:00 Intro\n0:30 Background\n1:50 The hardware\n4:14 Proxmox installation\n5:53 TrueNAS installation\n10:10 Debian installation\n12:50 Windows installation\n15:22 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "The Do-It-All NAS for 2025!", 58, 1015, false, "VBUvEMswD30", "https://www.youtube.com/watch?v=VBUvEMswD30", "/downloads/Maker HQ/Season 2025/s2025e042000 - The Do-It-All NAS for 2025!.mp4", false, ~U[2025-04-20 14:00:42Z]] 03:31:47.668 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.668 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 13:00:05Z], 58] 03:31:47.669 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I conclude a near year-long project to make a place for my 'DIY' and bought watches. Unfortunately, the conclusion to this project was both long overdue and undesirable. #cnc #diy #watches \n\nCNC Build Part Two: https://www.youtube.com/watch?v=q6ENkn8oJ0g\nCNC Build Part One: https://www.youtube.com/watch?v=jCcx8ZpHpfs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Failing at the hands of my CNC router", "dd279e05-8b00-46da-8d2b-cdcbf08118e8", false, 58, [], 707, false, "aaDv3EJpCq4", "https://www.youtube.com/watch?v=aaDv3EJpCq4", 15, "/downloads/Maker HQ/Season 2025/s2025e033000 - Failing at the hands of my CNC router.mp4", false, false, 98, ~U[2025-03-30 13:00:05Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I conclude a near year-long project to make a place for my 'DIY' and bought watches. Unfortunately, the conclusion to this project was both long overdue and undesirable. #cnc #diy #watches \n\nCNC Build Part Two: https://www.youtube.com/watch?v=q6ENkn8oJ0g\nCNC Build Part One: https://www.youtube.com/watch?v=jCcx8ZpHpfs\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Failing at the hands of my CNC router", 58, 707, false, "aaDv3EJpCq4", "https://www.youtube.com/watch?v=aaDv3EJpCq4", "/downloads/Maker HQ/Season 2025/s2025e033000 - Failing at the hands of my CNC router.mp4", false, ~U[2025-03-30 13:00:05Z]] 03:31:47.670 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.670 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-16 19:00:02Z], 58] 03:31:47.671 [debug] QUERY OK source="media_items" db=0.8ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this quick #nocommentary video I'm assembling, painting and weathering Starlord's Quadblaster! #3dprinting #prop #diy #guardiansofthegalaxy #starlord\n\nMakerworld profile: https://makerworld.com/models/856321\n\n0:00 Prepping the printed parts\n0:24 Rub 'n' buff\n0:50 Assembly\n2:00 Painting\n2:44 Weathering\n3:19 Finished prop\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D Printed Starlord Quadblaster Build", "51d0a118-a099-40ec-a27b-78fba11df36a", false, 58, [], 226, false, "4xsRgvjVn3s", "https://www.youtube.com/watch?v=4xsRgvjVn3s", 16, "/downloads/Maker HQ/Season 2025/s2025e031600 - 3D Printed Starlord Quadblaster Build.mp4", false, false, 98, ~U[2025-03-16 19:00:02Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "In this quick #nocommentary video I'm assembling, painting and weathering Starlord's Quadblaster! #3dprinting #prop #diy #guardiansofthegalaxy #starlord\n\nMakerworld profile: https://makerworld.com/models/856321\n\n0:00 Prepping the printed parts\n0:24 Rub 'n' buff\n0:50 Assembly\n2:00 Painting\n2:44 Weathering\n3:19 Finished prop\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "3D Printed Starlord Quadblaster Build", 58, 226, false, "4xsRgvjVn3s", "https://www.youtube.com/watch?v=4xsRgvjVn3s", "/downloads/Maker HQ/Season 2025/s2025e031600 - 3D Printed Starlord Quadblaster Build.mp4", false, ~U[2025-03-16 19:00:02Z]] 03:31:47.671 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.672 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-02 19:00:00Z], 58] 03:31:47.684 [debug] QUERY OK source="media_items" db=12.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I'm looking at gaming on a budget to find out whether you really need the latest and greatest just to enjoy pwning noobs. #rtx50 #gaming #pcbuild #benchmark \n\nMotherboard: https://vi.aliexpress.com/item/1005006826619777.html?spm=a2g0o.order_list.order_list_main.131.21ef18026CxEvl&gatewayAdapt=glo2vnm\nRAM: https://s.click.aliexpress.com/e/_o2DOzMA\n\n0:00 Intro\n0:30 What I'm building\n1:30 The build\n4:10 Crysis\n4:34 CS2\n4:50 PUBG\n5:05 Assetto Corsa\n5:25 Cyberpunk 2077\n5:45 Trackmania\n5:54 Kerbal Space Program\n6:10 Perfomrance Summary\n6:27 Build Cost\n6:34 Conclusion\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Why I'm not buying an RTX50-series graphics card...", "d0da139e-d5cc-4d1c-af97-1e3029483a8b", false, 58, [], 472, false, "a70_KqGxekw", "https://www.youtube.com/watch?v=a70_KqGxekw", 17, "/downloads/Maker HQ/Season 2025/s2025e030200 - Why I'm not buying an RTX50-series graphics card....mp4", false, false, 98, ~U[2025-03-02 19:00:00Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today I'm looking at gaming on a budget to find out whether you really need the latest and greatest just to enjoy pwning noobs. #rtx50 #gaming #pcbuild #benchmark \n\nMotherboard: https://vi.aliexpress.com/item/1005006826619777.html?spm=a2g0o.order_list.order_list_main.131.21ef18026CxEvl&gatewayAdapt=glo2vnm\nRAM: https://s.click.aliexpress.com/e/_o2DOzMA\n\n0:00 Intro\n0:30 What I'm building\n1:30 The build\n4:10 Crysis\n4:34 CS2\n4:50 PUBG\n5:05 Assetto Corsa\n5:25 Cyberpunk 2077\n5:45 Trackmania\n5:54 Kerbal Space Program\n6:10 Perfomrance Summary\n6:27 Build Cost\n6:34 Conclusion\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Why I'm not buying an RTX50-series graphics card...", 58, 472, false, "a70_KqGxekw", "https://www.youtube.com/watch?v=a70_KqGxekw", "/downloads/Maker HQ/Season 2025/s2025e030200 - Why I'm not buying an RTX50-series graphics card....mp4", false, ~U[2025-03-02 19:00:00Z]] 03:31:47.685 [debug] QUERY OK source="sources" db=0.1ms idle=14.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.685 [debug] QUERY OK source="media_items" db=0.2ms idle=14.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-09 19:00:30Z], 58] 03:31:47.686 [debug] QUERY OK source="media_items" db=0.7ms idle=14.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today's video pits 4 different electric screwdrivers, including the current favourite, the Xioami Mijia Electric Screwdriver #screwdriver #xiaomi #comparison #versus \n\nXioami: https://s.click.aliexpress.com/e/_oFlabbF *** Overall winner *** \nPrecision: https://s.click.aliexpress.com/e/_ooby4o1 Good alternative with work light and quiet operation\nRddspon: https://s.click.aliexpress.com/e/_opdISKz Good alternative with work light and two-speed driving\n28 in 1: https://s.click.aliexpress.com/e/_oBUZ5Nn Not recommended\n\n0:00 Intro\n0:42 The contenders\n0:55 Unboxing\n4:10 RPM test\n4:29 Battery life test\n5:39 Noise test\n6:09 Torque comparison\n6:37 Ergonomics comparison\n7:50 Durability test\n9:15 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Does this Xiaomi driver still offer the best value for money?", "26f778a7-062b-4a04-a05f-4766717249f3", false, 58, [], 640, false, "WlD_pAQS4Cg", "https://www.youtube.com/watch?v=WlD_pAQS4Cg", 18, "/downloads/Maker HQ/Season 2025/s2025e020900 - Does this Xiaomi driver still offer the best value for money?.mp4", false, false, 98, ~U[2025-02-09 19:00:30Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "Today's video pits 4 different electric screwdrivers, including the current favourite, the Xioami Mijia Electric Screwdriver #screwdriver #xiaomi #comparison #versus \n\nXioami: https://s.click.aliexpress.com/e/_oFlabbF *** Overall winner *** \nPrecision: https://s.click.aliexpress.com/e/_ooby4o1 Good alternative with work light and quiet operation\nRddspon: https://s.click.aliexpress.com/e/_opdISKz Good alternative with work light and two-speed driving\n28 in 1: https://s.click.aliexpress.com/e/_oBUZ5Nn Not recommended\n\n0:00 Intro\n0:42 The contenders\n0:55 Unboxing\n4:10 RPM test\n4:29 Battery life test\n5:39 Noise test\n6:09 Torque comparison\n6:37 Ergonomics comparison\n7:50 Durability test\n9:15 Summary\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Does this Xiaomi driver still offer the best value for money?", 58, 640, false, "WlD_pAQS4Cg", "https://www.youtube.com/watch?v=WlD_pAQS4Cg", "/downloads/Maker HQ/Season 2025/s2025e020900 - Does this Xiaomi driver still offer the best value for money?.mp4", false, ~U[2025-02-09 19:00:30Z]] 03:31:47.687 [debug] QUERY OK source="sources" db=0.1ms idle=14.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.687 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-21 19:00:00Z], 58] 03:31:47.688 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is how I spent my Christmas break... decluttering, cleaning, painting and more. But oh was it worth it. #diy #workbench #renovation #woodworking\n\n0:00 Intro\n0:20 What I'm doing\n0:45 The clean up\n1:45 'Prettification'\n2:28 Quick Bunnings trip\n2:37 Building my new bench\n5:15 Adding some 'accoutrements'\n6:39 The result\n7:18 Summary\n8:53 Bloopers\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Transforming My Garage + Budget DIY Workbench Build", "aa53a7ac-24a3-4fe4-bdc6-1892ec20005a", false, 58, [], 547, false, "-_e03MVx_7Y", "https://www.youtube.com/watch?v=-_e03MVx_7Y", 19, "/downloads/Maker HQ/Season 2025/s2025e012100 - Transforming My Garage + Budget DIY Workbench Build.mp4", false, false, 98, ~U[2025-01-21 19:00:00Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "This is how I spent my Christmas break... decluttering, cleaning, painting and more. But oh was it worth it. #diy #workbench #renovation #woodworking\n\n0:00 Intro\n0:20 What I'm doing\n0:45 The clean up\n1:45 'Prettification'\n2:28 Quick Bunnings trip\n2:37 Building my new bench\n5:15 Adding some 'accoutrements'\n6:39 The result\n7:18 Summary\n8:53 Bloopers\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "Transforming My Garage + Budget DIY Workbench Build", 58, 547, false, "-_e03MVx_7Y", "https://www.youtube.com/watch?v=-_e03MVx_7Y", "/downloads/Maker HQ/Season 2025/s2025e012100 - Transforming My Garage + Budget DIY Workbench Build.mp4", false, ~U[2025-01-21 19:00:00Z]] 03:31:47.688 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [58] 03:31:47.689 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-19 05:30:47Z], 58] 03:31:47.699 [debug] QUERY OK source="media_items" db=10.0ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It's the new year and there is new news from Bambu Lab... but it's not what many had hoped for #bambulab #3dprinting #security #firmware\n\nBambu Lab's blog post: https://blog.bambulab.com/firmware-update-introducing-new-authorization-control-system-2/\n\nAll3DP poll referenced: https://all3dp.com/4/bambu-lab-limits-third-party-printer-control-with-new-security-update/\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "I want to love Bambu Lab but this makes it hard...", "c9cdf73b-3c62-4f3b-8079-91f323bf4c7f", false, 58, [], 260, false, "wICJUQj1Jes", "https://www.youtube.com/watch?v=wICJUQj1Jes", 20, "/downloads/Maker HQ/Season 2025/s2025e011900 - I want to love Bambu Lab but this makes it hard....mp4", false, false, 98, ~U[2025-01-19 05:30:47Z], ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], "It's the new year and there is new news from Bambu Lab... but it's not what many had hoped for #bambulab #3dprinting #security #firmware\n\nBambu Lab's blog post: https://blog.bambulab.com/firmware-update-introducing-new-authorization-control-system-2/\n\nAll3DP poll referenced: https://all3dp.com/4/bambu-lab-limits-third-party-printer-control-with-new-security-update/\n\n_____________________________________________________________________________\n\nMy designs: https://makerworld.com/en/@MakerHQ\nMy tools & gear: https://www.amazon.com.au/hz/wishlist/ls/BL2AK0CL3XAX?ref_=wl_share\nMust buy games & gear: https://www.amazon.com.au/hz/wishlist/ls/18N1AV4ZSJH59?ref_=wl_share\nMy wishlist: https://www.amazon.com.au/hz/wishlist/ls/A75PA5KEDSB6?ref_=wl_share\n\nPatreon: https://www.patreon.com/MakerHQ\nDiscord: https://discord.gg/sdA5VtBj7t\nEtsy Store: https://www.etsy.com/au/shop/MakerHQStore\nFacebook: https://www.facebook.com/MakerHQyt/\nInstagram: https://www.instagram.com/swarleyaus/\n\nTravel clips and vlogs! https://www.youtube.com/@Travel_HQ\nGaming clips and compilations! https://www.youtube.com/@Gamer_HQ\n\nNote: Some of the included links may be affiliate links. I receive a commission from sales using these links, which help me to grow the channel and create new content.", "I want to love Bambu Lab but this makes it hard...", 58, 260, false, "wICJUQj1Jes", "https://www.youtube.com/watch?v=wICJUQj1Jes", "/downloads/Maker HQ/Season 2025/s2025e011900 - I want to love Bambu Lab but this makes it hard....mp4", false, ~U[2025-01-19 05:30:47Z]] 03:31:47.700 [debug] QUERY OK source="sources" db=0.1ms idle=12.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z], 58] 03:31:47.700 [debug] QUERY OK source="media_items" db=0.4ms idle=11.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [58] 03:31:47.701 [debug] QUERY OK source="media_items" db=0.2ms idle=12.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [58] 03:31:47.701 [debug] QUERY OK source="media_items" db=0.1ms idle=11.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [58] 03:31:47.702 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133821, 58, ~U[2026-08-05 01:31:47Z], ~U[2026-08-05 01:31:47Z]] 03:31:47.702 [info] {"args":{"id":58},"id":133317,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":38718785,"event":"job:stop","queue_time":18660,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:32:00.386 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:16.825 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:46.827 [info] {"source":"oban","duration":2297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:54.094 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785893574094108165,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:32:54.094 [debug] QUERY OK source="media_items" db=0.1ms idle=1318.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3646417] 03:32:54.094 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:32:54.094 [debug] QUERY OK source="sources" db=0.1ms idle=1007.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 03:32:54.095 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1002.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:32:54.095 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 03:32:54.105 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 03:32:54.105 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:32:54.105 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:32:54.105 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:32:54.105 [debug] Running yt-dlp command for action: get_downloadable_status 03:32:54.106 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:32:54.106 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:32:54.106 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:32:54.106 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/bf/91bfe96ea807f8f1f89512cc8b4b8ff51cd238c75a658fa6903aad062ac80c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:32:55.748 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/bf/91bfe96ea807f8f1f89512cc8b4b8ff51cd238c75a658fa6903aad062ac80c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:32:55.748 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:32:55.748 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1654364,"event":"job:exception","queue_time":481611,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:33:00.387 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:16.830 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:46.832 [info] {"source":"oban","duration":2520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.388 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:16.834 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:19.180 [info] {"args":{"id":5104350},"id":133415,"meta":{},"system_time":1785893659180112915,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:19.180 [info] {"args":{"id":3773721},"id":133417,"meta":{},"system_time":1785893659180152754,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:19.180 [debug] QUERY OK source="media_items" db=0.5ms idle=404.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5104350] 03:34:19.181 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:19.181 [debug] QUERY OK source="media_items" db=0.5ms idle=405.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3773721] 03:34:19.181 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:19.181 [debug] QUERY OK source="sources" db=0.2ms idle=405.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:34:19.181 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:34:19.181 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:19.181 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:19.182 [debug] QUERY OK source="media_items" db=0.3ms idle=0.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5104350] 03:34:19.182 [debug] QUERY OK source="media_items" db=0.3ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3773721] 03:34:19.191 [debug] QUERY OK source="media_metadata" db=0.1ms idle=10.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5104350] 03:34:19.192 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:19.192 [debug] QUERY OK source="media_metadata" db=0.1ms idle=10.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3773721] 03:34:19.192 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:19.192 [debug] QUERY OK source="settings" db=0.1ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.192 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.192 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.192 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.192 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:19.193 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:19.193 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.193 [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 [] 03:34:19.193 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.193 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/a4/cba4aa0fec2d2cacde643d4be555cdec5f7c0145891eb419fc3c300a74e84529.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:34:19.194 [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 [] 03:34:19.194 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.194 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:19.194 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/15/ec157f86b1ab4e4f45d222ae0858f0b48a66376f0d50ac1f5dfa6a34d46f2b16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:34:21.083 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/a4/cba4aa0fec2d2cacde643d4be555cdec5f7c0145891eb419fc3c300a74e84529.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:34:21.083 [error] yt-dlp download error for media item #5104350: "WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:34:21.084 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":5104350},"id":133415,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1904007,"event":"job:exception","queue_time":955770,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:21.201 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/15/ec157f86b1ab4e4f45d222ae0858f0b48a66376f0d50ac1f5dfa6a34d46f2b16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:34:21.201 [error] yt-dlp download error for media item #3773721: "WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:34:21.201 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3773721},"id":133417,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2021307,"event":"job:exception","queue_time":482577,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:27.190 [info] {"args":{"id":2889465},"id":133412,"meta":{},"system_time":1785893667190088283,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:27.190 [debug] QUERY OK source="media_items" db=0.1ms idle=414.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2889465] 03:34:27.190 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:27.190 [debug] QUERY OK source="sources" db=0.1ms idle=415.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 03:34:27.191 [debug] QUERY OK source="media_profiles" db=0.1ms idle=415.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:27.191 [debug] QUERY OK source="media_items" db=0.2ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2889465] 03:34:27.201 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [2889465] 03:34:27.201 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:27.201 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:27.201 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:27.201 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:27.202 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:27.202 [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 [] 03:34:27.202 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:27.202 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/5e/715e0c64bdb9b703bb8abf0c8dbf89451d907417ac2843834c79e45493cc5fa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:34:29.188 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/5e/715e0c64bdb9b703bb8abf0c8dbf89451d907417ac2843834c79e45493cc5fa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:34:29.189 [error] yt-dlp download error for media item #2889465: "WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:34:29.189 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2889465},"id":133412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1999090,"event":"job:exception","queue_time":394480,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:34.197 [info] {"args":{"id":4429248},"id":133420,"meta":{},"system_time":1785893674196960686,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:34.197 [debug] QUERY OK source="media_items" db=0.1ms idle=1421.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4429248] 03:34:34.197 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:34.197 [debug] QUERY OK source="sources" db=0.2ms idle=1007.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:34:34.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1002.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:34.198 [debug] QUERY OK source="media_items" db=0.2ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4429248] 03:34:34.208 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4429248] 03:34:34.208 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:34.208 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:34.208 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:34.208 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:34.209 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:34.209 [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 [] 03:34:34.209 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:34.209 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/ef/fcef59517bb1f4778580c7ca18fdfc067aab1cf24e0ffc5e7af909ab8249020f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:34:36.260 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/ef/fcef59517bb1f4778580c7ca18fdfc067aab1cf24e0ffc5e7af909ab8249020f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:34:36.260 [error] yt-dlp download error for media item #4429248: "WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:34:36.260 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4429248},"id":133420,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2063307,"event":"job:exception","queue_time":283590,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:39.201 [info] {"args":{"id":3822586},"id":133418,"meta":{},"system_time":1785893679201907301,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:39.202 [debug] QUERY OK source="media_items" db=0.1ms idle=1426.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3822586] 03:34:39.202 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:39.202 [debug] QUERY OK source="sources" db=0.1ms idle=1007.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:34:39.202 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1002.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:39.203 [debug] QUERY OK source="media_items" db=0.1ms idle=6.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3822586] 03:34:39.212 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3822586] 03:34:39.213 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:39.213 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:39.213 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:39.213 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:39.213 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:39.213 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:39.213 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:39.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/ce/35ce4064f691ee912d6c41f0c3696c477398e3f71c93844a35625208723842fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:34:41.222 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/ce/35ce4064f691ee912d6c41f0c3696c477398e3f71c93844a35625208723842fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:34:41.222 [error] yt-dlp download error for media item #3822586: "WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:34:41.222 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3822586},"id":133418,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2020516,"event":"job:exception","queue_time":813556,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:46.838 [info] {"source":"oban","duration":2572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:59.223 [info] {"args":{"id":3471419},"id":133416,"meta":{},"system_time":1785893699223010068,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:34:59.223 [debug] QUERY OK source="media_items" db=0.3ms idle=447.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3471419] 03:34:59.223 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:34:59.224 [debug] QUERY OK source="sources" db=0.2ms idle=448.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:34:59.224 [debug] QUERY OK source="media_profiles" db=0.1ms idle=448.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:59.224 [debug] QUERY OK source="media_items" db=0.2ms idle=7.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3471419] 03:34:59.234 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3471419] 03:34:59.234 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:34:59.234 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:59.235 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:59.235 [debug] Running yt-dlp command for action: get_downloadable_status 03:34:59.235 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:59.235 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:34:59.236 [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 [] 03:34:59.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/99/2a990331d0186caa59bf703e78355320f19861dda8788d2b1f3e6ddad88a1854.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:35:00.224 [info] {"args":{"id":4054936},"id":133419,"meta":{},"system_time":1785893700223958129,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:00.224 [debug] QUERY OK source="media_items" db=0.1ms idle=988.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4054936] 03:35:00.224 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:35:00.224 [debug] QUERY OK source="sources" db=0.2ms idle=988.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:35:00.225 [debug] QUERY OK source="media_profiles" db=0.1ms idle=988.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:00.225 [debug] QUERY OK source="media_items" db=0.2ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4054936] 03:35:00.235 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4054936] 03:35:00.235 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:00.235 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:00.235 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:00.235 [debug] Running yt-dlp command for action: get_downloadable_status 03:35:00.236 [debug] QUERY OK source="settings" db=0.0ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:00.236 [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 [] 03:35:00.236 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:00.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/8b/558b9f52fa8def7950641a9eaa239ad2ce88535ab97e460a81c0158fa160ec2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:35:00.389 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:01.155 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/99/2a990331d0186caa59bf703e78355320f19861dda8788d2b1f3e6ddad88a1854.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:35:01.155 [error] yt-dlp download error for media item #3471419: "WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:35:01.155 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3471419},"id":133416,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1932399,"event":"job:exception","queue_time":66342,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:02.237 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/8b/558b9f52fa8def7950641a9eaa239ad2ce88535ab97e460a81c0158fa160ec2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:35:02.238 [error] yt-dlp download error for media item #4054936: "WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:35:02.238 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4054936},"id":133419,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2014198,"event":"job:exception","queue_time":132112,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:07.232 [info] {"args":{"id":4608339},"id":133421,"meta":{},"system_time":1785893707231957004,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:07.232 [debug] QUERY OK source="media_items" db=0.1ms idle=1456.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4608339] 03:35:07.232 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:35:07.232 [debug] QUERY OK source="sources" db=0.1ms idle=1008.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:35:07.233 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1003.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:07.233 [debug] QUERY OK source="media_items" db=0.2ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4608339] 03:35:07.243 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4608339] 03:35:07.243 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:07.243 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:07.244 [debug] QUERY OK source="settings" db=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:07.244 [debug] Running yt-dlp command for action: get_downloadable_status 03:35:07.244 [debug] QUERY OK source="settings" db=0.0ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:07.244 [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 [] 03:35:07.244 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:07.245 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/2d/672d31bcee4385edf84625edd5ba68ec87e008a42a2bf37223cc0d9f57c79bf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:35:09.128 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/2d/672d31bcee4385edf84625edd5ba68ec87e008a42a2bf37223cc0d9f57c79bf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:35:09.128 [error] yt-dlp download error for media item #4608339: "WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:35:09.129 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4608339},"id":133421,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1896677,"event":"job:exception","queue_time":882149,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:10.236 [info] {"args":{"id":66},"id":133319,"meta":{},"system_time":1785893710236213929,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:35:10.236 [debug] QUERY OK source="sources" db=0.1ms idle=1008.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:10.237 [debug] QUERY OK source="settings" db=0.1ms queue=0.5ms idle=1001.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.311 [debug] QUERY OK source="media_items" db=74.3ms idle=7.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [66] 03:35:10.315 [debug] QUERY OK source="media_items" db=3.0ms idle=75.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [66] 03:35:10.315 [debug] QUERY OK source="media_profiles" db=0.1ms idle=78.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:10.315 [debug] QUERY OK source="settings" db=0.0ms idle=78.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.315 [debug] QUERY OK source="settings" db=0.0ms idle=78.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.318 [debug] QUERY OK source="media_items" db=2.2ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [66] 03:35:10.319 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:35:10.319 [debug] Current batch of media processed. Will check again in 1000ms 03:35:10.319 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.319 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.319 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:10.319 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ShortCircuit --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/ShortCircuit/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/8f/99/8f9920d9800949c452fec9f7546b6ee609b124a56735a83859206ee48cbcc784.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f2/20/f220819e8217b9de0bf5ebe35db3a905b2e697d5ceee6374bc4062d0a361afc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:35:11.319 [debug] Current batch of media processed. Will check again in 1000ms 03:35:12.320 [debug] Current batch of media processed. Will check again in 1000ms 03:35:13.321 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Learn more about ROG Swift OLED PG32UCWM: https://rog.gg/PG32UCWM_SC\nLearn more about ROG Swift OLED PG27UCWM: https://rog.gg/PG27UCWM_SC\n\nThanks to ROG for sponsoring our first look at their RGB Stripe OLED gaming monitors. If you're looking for a top-end gaming, or even movie watching, experience, these new panels are going to be hard to beat.\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:20 Unboxing\n3:55 I/O \n5:00 Stand Adjustments\n5:30 TrueBlack Glossy Coating\n5:45 Turning on the display\n6:10 Burn-in Reduction \n7:15 Specs\n7:56 DisplayWidget Center\n9:15 Let's play some games! \n10:10 Color Accuracy\n12:15 Latency\n12:45 RGB Stripe\n13:13 Price\n14:00 Outro", "duration" => 854, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e080300 - RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM.mp4", "id" => "vI_aUzOCM9E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vI_aUzOCM9E", "playlist_index" => 1, "timestamp" => 1785787046, "title" => "RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM", "upload_date" => "20260803"} 03:35:13.321 [debug] QUERY OK source="sources" db=0.1ms idle=1546.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:13.322 [debug] QUERY OK source="sources" db=0.0ms idle=1090.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:13.322 [debug] QUERY OK source="media_items" db=0.6ms idle=1084.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-03 19:57:26Z], 66] 03:35:13.348 [debug] QUERY OK source="media_items" db=24.7ms idle=90.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Learn more about ROG Swift OLED PG32UCWM: https://rog.gg/PG32UCWM_SC\nLearn more about ROG Swift OLED PG27UCWM: https://rog.gg/PG27UCWM_SC\n\nThanks to ROG for sponsoring our first look at their RGB Stripe OLED gaming monitors. If you're looking for a top-end gaming, or even movie watching, experience, these new panels are going to be hard to beat.\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:20 Unboxing\n3:55 I/O \n5:00 Stand Adjustments\n5:30 TrueBlack Glossy Coating\n5:45 Turning on the display\n6:10 Burn-in Reduction \n7:15 Specs\n7:56 DisplayWidget Center\n9:15 Let's play some games! \n10:10 Color Accuracy\n12:15 Latency\n12:45 RGB Stripe\n13:13 Price\n14:00 Outro", "RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM", "6e8115d5-7975-4512-9868-9f00eca6b5a0", false, 66, [], 854, false, "vI_aUzOCM9E", "https://www.youtube.com/watch?v=vI_aUzOCM9E", 1, "/downloads/ShortCircuit/Season 2026/s2026e080300 - RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM.mp4", false, false, 98, ~U[2026-08-03 19:57:26Z], ~U[2026-08-05 01:35:13Z], ~U[2026-08-05 01:35:13Z], "Learn more about ROG Swift OLED PG32UCWM: https://rog.gg/PG32UCWM_SC\nLearn more about ROG Swift OLED PG27UCWM: https://rog.gg/PG27UCWM_SC\n\nThanks to ROG for sponsoring our first look at their RGB Stripe OLED gaming monitors. If you're looking for a top-end gaming, or even movie watching, experience, these new panels are going to be hard to beat.\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:20 Unboxing\n3:55 I/O \n5:00 Stand Adjustments\n5:30 TrueBlack Glossy Coating\n5:45 Turning on the display\n6:10 Burn-in Reduction \n7:15 Specs\n7:56 DisplayWidget Center\n9:15 Let's play some games! \n10:10 Color Accuracy\n12:15 Latency\n12:45 RGB Stripe\n13:13 Price\n14:00 Outro", "RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM", 66, 854, false, "vI_aUzOCM9E", "https://www.youtube.com/watch?v=vI_aUzOCM9E", "/downloads/ShortCircuit/Season 2026/s2026e080300 - RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM.mp4", false, ~U[2026-08-03 19:57:26Z]] 03:35:13.348 [debug] QUERY OK source="sources" db=0.1ms idle=109.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:13.348 [debug] QUERY OK source="media_profiles" db=0.1ms idle=26.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:13.349 [debug] QUERY OK source="media_items" db=0.2ms idle=26.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5249073] 03:35:13.349 [debug] Current batch of media processed. Will check again in 1000ms 03:35:14.349 [debug] Current batch of media processed. Will check again in 1000ms 03:35:15.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab a Mirror Dash cam Wolfbox G900Tripro (Bumper Version) Mirror Dash Cam:\nAmazon (Use Code WBGUARD20 for 10% OFF): https://www.amazon.com/WOLFBOX-G900-Tripro-Bumper-Vision/dp/B0DY1GM6DR?maas=maas_adg_EF5180748C92139D1A5B00D863B0CFA9_afap_abs&ref_=aa_maas&tag=maas\n\nOfficial Site (Use Code WBBESTGEAR for an Extra $10 OFF): https://wolfbox.com/products/wolfbox-g900tripro-bumper-version-3-channel-rearview-mirror?ref=linus\n\nThis tablet might be hard to get, but it really stands out against some of the popular options we get in the western hemisphere. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n00:00 - Intro: The Huawei MatePad Pro Max\n01:02 - Hardware Tour & Size Comparisons\n03:19 - Build Quality & Ports\n04:56 - Display & Bezel Breakdown\n06:14 - Performance & Processor Specs\n06:36 - Huawei Glide Keyboard & M Pencil Pro\n10:32 - Sponsor: Wolfbox\n11:00 - Software: Harmony OS & App Experience\n11:49 - Drawing Mode & Pressure Sensitivity\n13:25 - Multitasking & Navigation\n15:06 - Speaker Test (Crab Rave!)\n16:55 - Labs Benchmark Results\n18:51 - Battery Life & Charging Speed\n20:48 - Camera & Microphone Test", "duration" => 1522, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e073100 - Chinese Tech is getting GOOD… Huawei MatePad Pro Max.mp4", "id" => "lIHKjltoDvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lIHKjltoDvU", "playlist_index" => 2, "timestamp" => 1785527910, "title" => "Chinese Tech is getting GOOD… Huawei MatePad Pro Max", "upload_date" => "20260731"} 03:35:15.350 [debug] QUERY OK source="sources" db=0.1ms idle=575.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:15.351 [debug] QUERY OK source="sources" db=0.1ms idle=575.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:15.353 [debug] QUERY OK source="media_items" db=1.8ms idle=575.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 19:58:30Z], 66] 03:35:15.370 [debug] QUERY OK source="media_items" db=16.6ms idle=117.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Grab a Mirror Dash cam Wolfbox G900Tripro (Bumper Version) Mirror Dash Cam:\nAmazon (Use Code WBGUARD20 for 10% OFF): https://www.amazon.com/WOLFBOX-G900-Tripro-Bumper-Vision/dp/B0DY1GM6DR?maas=maas_adg_EF5180748C92139D1A5B00D863B0CFA9_afap_abs&ref_=aa_maas&tag=maas\n\nOfficial Site (Use Code WBBESTGEAR for an Extra $10 OFF): https://wolfbox.com/products/wolfbox-g900tripro-bumper-version-3-channel-rearview-mirror?ref=linus\n\nThis tablet might be hard to get, but it really stands out against some of the popular options we get in the western hemisphere. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n00:00 - Intro: The Huawei MatePad Pro Max\n01:02 - Hardware Tour & Size Comparisons\n03:19 - Build Quality & Ports\n04:56 - Display & Bezel Breakdown\n06:14 - Performance & Processor Specs\n06:36 - Huawei Glide Keyboard & M Pencil Pro\n10:32 - Sponsor: Wolfbox\n11:00 - Software: Harmony OS & App Experience\n11:49 - Drawing Mode & Pressure Sensitivity\n13:25 - Multitasking & Navigation\n15:06 - Speaker Test (Crab Rave!)\n16:55 - Labs Benchmark Results\n18:51 - Battery Life & Charging Speed\n20:48 - Camera & Microphone Test", "Chinese Tech is getting GOOD… Huawei MatePad Pro Max", "a8292360-8421-4aa6-b997-86c08eefbd8b", false, 66, [], 1522, false, "lIHKjltoDvU", "https://www.youtube.com/watch?v=lIHKjltoDvU", 2, "/downloads/ShortCircuit/Season 2026/s2026e073100 - Chinese Tech is getting GOOD… Huawei MatePad Pro Max.mp4", false, false, 98, ~U[2026-07-31 19:58:30Z], ~U[2026-08-05 01:35:15Z], ~U[2026-08-05 01:35:15Z], "Grab a Mirror Dash cam Wolfbox G900Tripro (Bumper Version) Mirror Dash Cam:\nAmazon (Use Code WBGUARD20 for 10% OFF): https://www.amazon.com/WOLFBOX-G900-Tripro-Bumper-Vision/dp/B0DY1GM6DR?maas=maas_adg_EF5180748C92139D1A5B00D863B0CFA9_afap_abs&ref_=aa_maas&tag=maas\n\nOfficial Site (Use Code WBBESTGEAR for an Extra $10 OFF): https://wolfbox.com/products/wolfbox-g900tripro-bumper-version-3-channel-rearview-mirror?ref=linus\n\nThis tablet might be hard to get, but it really stands out against some of the popular options we get in the western hemisphere. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n00:00 - Intro: The Huawei MatePad Pro Max\n01:02 - Hardware Tour & Size Comparisons\n03:19 - Build Quality & Ports\n04:56 - Display & Bezel Breakdown\n06:14 - Performance & Processor Specs\n06:36 - Huawei Glide Keyboard & M Pencil Pro\n10:32 - Sponsor: Wolfbox\n11:00 - Software: Harmony OS & App Experience\n11:49 - Drawing Mode & Pressure Sensitivity\n13:25 - Multitasking & Navigation\n15:06 - Speaker Test (Crab Rave!)\n16:55 - Labs Benchmark Results\n18:51 - Battery Life & Charging Speed\n20:48 - Camera & Microphone Test", "Chinese Tech is getting GOOD… Huawei MatePad Pro Max", 66, 1522, false, "lIHKjltoDvU", "https://www.youtube.com/watch?v=lIHKjltoDvU", "/downloads/ShortCircuit/Season 2026/s2026e073100 - Chinese Tech is getting GOOD… Huawei MatePad Pro Max.mp4", false, ~U[2026-07-31 19:58:30Z]] 03:35:15.370 [debug] QUERY OK source="sources" db=0.2ms idle=128.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:15.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=20.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:15.371 [debug] QUERY OK source="media_items" db=0.2ms idle=20.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237516] 03:35:15.371 [debug] Current batch of media processed. Will check again in 1000ms 03:35:16.372 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get your overpriced cases, screen protectors, and stickers at https://mybossisveryshort.com\n\nThe top of the line Samsung foldable is here, but will it be enough to tempt Elijah away from his iPhone? \n\nBuy your own Galaxy fold 8 Ultra - https://geni.us/k5DD\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n------------------------\n00:00 - The Folding Phone Dilemma\n01:17 - Exterior Design & Screen Comparison\n01:50 - The Crease & New Titanium Layers\n02:52 - Port Tour: Thinness vs. The Camera Bump\n03:51 - Camera Specs & AI Processing\n05:10 - Battery Technology & Snapdragon 8 Elite\n05:58 - Sponsor: Dbrand Grip Case & Screen Protector\n07:37 - First Fold & Initial Feel\n08:09 - Display Brightness\n09:33 - Display Resolution & PPI\n10:16 - Anti-Glare & Visual Crease Disappearance\n11:03 - The Difficulty of Opening a Thin Phone\n11:34 - Content Consumption: YouTube & Aspect Ratio\n12:28 - YouTube Multitasking & Gimmicks\n12:50 - Crab Rave\n13:38 - Selfie Camera Tests (Internal vs. External)\n15:30 - Main Camera Performance & 200MP Mode\n17:48 - Power User Multitasking & Windowing\n18:40 - Thoughts on AI Features\n19:06 - Pricing & Final Verdict: Is it Worth It?", "duration" => 1248, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e073000 - Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra.mp4", "id" => "jeW6dAHq2bQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jeW6dAHq2bQ", "playlist_index" => 3, "timestamp" => 1785421870, "title" => "Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra", "upload_date" => "20260730"} 03:35:16.373 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:16.373 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:16.376 [debug] QUERY OK source="media_items" db=3.0ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 14:31:10Z], 66] 03:35:16.377 [debug] QUERY OK source="media_items" db=1.0ms idle=139.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your overpriced cases, screen protectors, and stickers at https://mybossisveryshort.com\n\nThe top of the line Samsung foldable is here, but will it be enough to tempt Elijah away from his iPhone? \n\nBuy your own Galaxy fold 8 Ultra - https://geni.us/k5DD\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n------------------------\n00:00 - The Folding Phone Dilemma\n01:17 - Exterior Design & Screen Comparison\n01:50 - The Crease & New Titanium Layers\n02:52 - Port Tour: Thinness vs. The Camera Bump\n03:51 - Camera Specs & AI Processing\n05:10 - Battery Technology & Snapdragon 8 Elite\n05:58 - Sponsor: Dbrand Grip Case & Screen Protector\n07:37 - First Fold & Initial Feel\n08:09 - Display Brightness\n09:33 - Display Resolution & PPI\n10:16 - Anti-Glare & Visual Crease Disappearance\n11:03 - The Difficulty of Opening a Thin Phone\n11:34 - Content Consumption: YouTube & Aspect Ratio\n12:28 - YouTube Multitasking & Gimmicks\n12:50 - Crab Rave\n13:38 - Selfie Camera Tests (Internal vs. External)\n15:30 - Main Camera Performance & 200MP Mode\n17:48 - Power User Multitasking & Windowing\n18:40 - Thoughts on AI Features\n19:06 - Pricing & Final Verdict: Is it Worth It?", "Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra", "d75a4b06-89f4-4bf9-87a3-95365fcd9087", false, 66, [], 1248, false, "jeW6dAHq2bQ", "https://www.youtube.com/watch?v=jeW6dAHq2bQ", 3, "/downloads/ShortCircuit/Season 2026/s2026e073000 - Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra.mp4", false, false, 98, ~U[2026-07-30 14:31:10Z], ~U[2026-08-05 01:35:16Z], ~U[2026-08-05 01:35:16Z], "Get your overpriced cases, screen protectors, and stickers at https://mybossisveryshort.com\n\nThe top of the line Samsung foldable is here, but will it be enough to tempt Elijah away from his iPhone? \n\nBuy your own Galaxy fold 8 Ultra - https://geni.us/k5DD\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n------------------------\n00:00 - The Folding Phone Dilemma\n01:17 - Exterior Design & Screen Comparison\n01:50 - The Crease & New Titanium Layers\n02:52 - Port Tour: Thinness vs. The Camera Bump\n03:51 - Camera Specs & AI Processing\n05:10 - Battery Technology & Snapdragon 8 Elite\n05:58 - Sponsor: Dbrand Grip Case & Screen Protector\n07:37 - First Fold & Initial Feel\n08:09 - Display Brightness\n09:33 - Display Resolution & PPI\n10:16 - Anti-Glare & Visual Crease Disappearance\n11:03 - The Difficulty of Opening a Thin Phone\n11:34 - Content Consumption: YouTube & Aspect Ratio\n12:28 - YouTube Multitasking & Gimmicks\n12:50 - Crab Rave\n13:38 - Selfie Camera Tests (Internal vs. External)\n15:30 - Main Camera Performance & 200MP Mode\n17:48 - Power User Multitasking & Windowing\n18:40 - Thoughts on AI Features\n19:06 - Pricing & Final Verdict: Is it Worth It?", "Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra", 66, 1248, false, "jeW6dAHq2bQ", "https://www.youtube.com/watch?v=jeW6dAHq2bQ", "/downloads/ShortCircuit/Season 2026/s2026e073000 - Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra.mp4", false, ~U[2026-07-30 14:31:10Z]] 03:35:16.378 [debug] QUERY OK source="sources" db=0.1ms idle=134.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:16.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:16.378 [debug] QUERY OK source="media_items" db=0.1ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5233646] 03:35:16.378 [debug] Current batch of media processed. Will check again in 1000ms 03:35:16.841 [info] {"source":"oban","duration":2895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:17.379 [debug] Current batch of media processed. Will check again in 1000ms 03:35:18.380 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get your overpriced cases, screen protectors, and stickers at https://shortlinus.com\n\nLinus and Yvonne went shopping for a new phone (LTT coming soon) but neither of them were sold on Samsung's latest foldable. However, under the magic of the ShortCircuit set lights, something changed in him...\n\nIf you're feeling the smol foldable you can order a Galaxy Fold 8 here: https://geni.us/Qc6HQ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n0:56 The folding phone problem \n1:33 The new size and shape \n2:19 Examining the crease\n2:54 Exterior tour\n3:21 Sponsor \n4:55 Let's talk specs \n7:08 Pricing and form factor \n8:43 Wait a second...\n9:37 Camera time \n11:06 Final thoughts", "duration" => 707, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072800 - My wife said no to this phone - Samsung Galaxy Z fold 8.mp4", "id" => "zbqZ-0puJjg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zbqZ-0puJjg", "playlist_index" => 4, "timestamp" => 1785267381, "title" => "My wife said no to this phone - Samsung Galaxy Z fold 8", "upload_date" => "20260728"} 03:35:18.381 [debug] QUERY OK source="sources" db=0.1ms idle=1135.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:18.381 [debug] QUERY OK source="sources" db=0.1ms idle=605.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:18.383 [debug] QUERY OK source="media_items" db=2.0ms idle=606.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 19:36:21Z], 66] 03:35:18.384 [debug] QUERY OK source="media_items" db=0.7ms idle=143.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your overpriced cases, screen protectors, and stickers at https://shortlinus.com\n\nLinus and Yvonne went shopping for a new phone (LTT coming soon) but neither of them were sold on Samsung's latest foldable. However, under the magic of the ShortCircuit set lights, something changed in him...\n\nIf you're feeling the smol foldable you can order a Galaxy Fold 8 here: https://geni.us/Qc6HQ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n0:56 The folding phone problem \n1:33 The new size and shape \n2:19 Examining the crease\n2:54 Exterior tour\n3:21 Sponsor \n4:55 Let's talk specs \n7:08 Pricing and form factor \n8:43 Wait a second...\n9:37 Camera time \n11:06 Final thoughts", "My wife said no to this phone - Samsung Galaxy Z fold 8", "468498db-242e-4d86-83d9-dc56df1dcab6", false, 66, [], 707, false, "zbqZ-0puJjg", "https://www.youtube.com/watch?v=zbqZ-0puJjg", 4, "/downloads/ShortCircuit/Season 2026/s2026e072800 - My wife said no to this phone - Samsung Galaxy Z fold 8.mp4", false, false, 98, ~U[2026-07-28 19:36:21Z], ~U[2026-08-05 01:35:18Z], ~U[2026-08-05 01:35:18Z], "Get your overpriced cases, screen protectors, and stickers at https://shortlinus.com\n\nLinus and Yvonne went shopping for a new phone (LTT coming soon) but neither of them were sold on Samsung's latest foldable. However, under the magic of the ShortCircuit set lights, something changed in him...\n\nIf you're feeling the smol foldable you can order a Galaxy Fold 8 here: https://geni.us/Qc6HQ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n0:56 The folding phone problem \n1:33 The new size and shape \n2:19 Examining the crease\n2:54 Exterior tour\n3:21 Sponsor \n4:55 Let's talk specs \n7:08 Pricing and form factor \n8:43 Wait a second...\n9:37 Camera time \n11:06 Final thoughts", "My wife said no to this phone - Samsung Galaxy Z fold 8", 66, 707, false, "zbqZ-0puJjg", "https://www.youtube.com/watch?v=zbqZ-0puJjg", "/downloads/ShortCircuit/Season 2026/s2026e072800 - My wife said no to this phone - Samsung Galaxy Z fold 8.mp4", false, ~U[2026-07-28 19:36:21Z]] 03:35:18.385 [debug] QUERY OK source="sources" db=0.2ms idle=138.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:18.385 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:18.385 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5225943] 03:35:18.385 [debug] Current batch of media processed. Will check again in 1000ms 03:35:19.386 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\n\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nWe stole Linus' new Framework 13 Pro to run linux on it and it didn't disappoint. If you are looking for a premium laptop this one is going to be really hard to beat this year. \n\nGet one for yourself here - https://frame.work/laptop13pro\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:30 Lets peek inside\n4:36 Linux time \n6:20 Sponsor \n6:53 Specs \n7:30 Screen impressions \n8:10 Battery results \n9:20 Crab rave audio test \n11:24 Gaming tests \n13:15 Final thoughts and pricing", "duration" => 872, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072700 - I stole Linus’ Framework 13 Pro to put Linux on it.mp4", "id" => "8LILAmXzopk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8LILAmXzopk", "playlist_index" => 5, "timestamp" => 1785164483, "title" => "I stole Linus’ Framework 13 Pro to put Linux on it", "upload_date" => "20260727"} 03:35:19.386 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:19.387 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:19.389 [debug] QUERY OK source="media_items" db=1.8ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 15:01:23Z], 66] 03:35:19.390 [debug] QUERY OK source="media_items" db=0.8ms idle=148.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\n\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nWe stole Linus' new Framework 13 Pro to run linux on it and it didn't disappoint. If you are looking for a premium laptop this one is going to be really hard to beat this year. \n\nGet one for yourself here - https://frame.work/laptop13pro\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:30 Lets peek inside\n4:36 Linux time \n6:20 Sponsor \n6:53 Specs \n7:30 Screen impressions \n8:10 Battery results \n9:20 Crab rave audio test \n11:24 Gaming tests \n13:15 Final thoughts and pricing", "I stole Linus’ Framework 13 Pro to put Linux on it", "01625527-6311-4c2f-926d-e78298cc5f58", false, 66, [], 872, false, "8LILAmXzopk", "https://www.youtube.com/watch?v=8LILAmXzopk", 5, "/downloads/ShortCircuit/Season 2026/s2026e072700 - I stole Linus’ Framework 13 Pro to put Linux on it.mp4", false, false, 98, ~U[2026-07-27 15:01:23Z], ~U[2026-08-05 01:35:19Z], ~U[2026-08-05 01:35:19Z], "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\n\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nWe stole Linus' new Framework 13 Pro to run linux on it and it didn't disappoint. If you are looking for a premium laptop this one is going to be really hard to beat this year. \n\nGet one for yourself here - https://frame.work/laptop13pro\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:30 Lets peek inside\n4:36 Linux time \n6:20 Sponsor \n6:53 Specs \n7:30 Screen impressions \n8:10 Battery results \n9:20 Crab rave audio test \n11:24 Gaming tests \n13:15 Final thoughts and pricing", "I stole Linus’ Framework 13 Pro to put Linux on it", 66, 872, false, "8LILAmXzopk", "https://www.youtube.com/watch?v=8LILAmXzopk", "/downloads/ShortCircuit/Season 2026/s2026e072700 - I stole Linus’ Framework 13 Pro to put Linux on it.mp4", false, ~U[2026-07-27 15:01:23Z]] 03:35:19.390 [debug] QUERY OK source="sources" db=0.2ms idle=143.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:19.390 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:19.391 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5222121] 03:35:19.391 [debug] Current batch of media processed. Will check again in 1000ms 03:35:20.392 [debug] Current batch of media processed. Will check again in 1000ms 03:35:21.393 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Purchase the last pair of socks you'll ever need at: https://www.lttstore.com/s/foreversocks\n\nI've been trying to buy a tablet for years but iPad battery has been lacklustre and traditional e-ink tablets have had too many limitations. This model from Boox solves pretty much all my problems. \n\nGet yours at https://geni.us/LJWpS \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Why Shawn wants the tablet \n0:42 What's in the box \n2:04 Case overview \n3:28 Tablet specs \n4:38 Sponsor \n5:39 Display testing \n11:00 Great for music, but not what you think \n12:38 Comic test \n13:12 How does the stylus work \n14:38 Pricing \n15:56 Watch another video", "duration" => 961, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072500 - E-ink tablets can finally replace iPads - Boox Air5 C.mp4", "id" => "C0WVyZRxCOM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C0WVyZRxCOM", "playlist_index" => 6, "timestamp" => 1785000532, "title" => "E-ink tablets can finally replace iPads - Boox Air5 C", "upload_date" => "20260725"} 03:35:21.393 [debug] QUERY OK source="sources" db=0.1ms idle=618.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:21.394 [debug] QUERY OK source="sources" db=0.0ms idle=618.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:21.396 [debug] QUERY OK source="media_items" db=1.8ms idle=618.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 17:28:52Z], 66] 03:35:21.397 [debug] QUERY OK source="media_items" db=0.7ms idle=152.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Purchase the last pair of socks you'll ever need at: https://www.lttstore.com/s/foreversocks\n\nI've been trying to buy a tablet for years but iPad battery has been lacklustre and traditional e-ink tablets have had too many limitations. This model from Boox solves pretty much all my problems. \n\nGet yours at https://geni.us/LJWpS \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Why Shawn wants the tablet \n0:42 What's in the box \n2:04 Case overview \n3:28 Tablet specs \n4:38 Sponsor \n5:39 Display testing \n11:00 Great for music, but not what you think \n12:38 Comic test \n13:12 How does the stylus work \n14:38 Pricing \n15:56 Watch another video", "E-ink tablets can finally replace iPads - Boox Air5 C", "d0ae23e0-a463-4e9f-a683-bf1ed712ee5c", false, 66, [], 961, false, "C0WVyZRxCOM", "https://www.youtube.com/watch?v=C0WVyZRxCOM", 6, "/downloads/ShortCircuit/Season 2026/s2026e072500 - E-ink tablets can finally replace iPads - Boox Air5 C.mp4", false, false, 98, ~U[2026-07-25 17:28:52Z], ~U[2026-08-05 01:35:21Z], ~U[2026-08-05 01:35:21Z], "Purchase the last pair of socks you'll ever need at: https://www.lttstore.com/s/foreversocks\n\nI've been trying to buy a tablet for years but iPad battery has been lacklustre and traditional e-ink tablets have had too many limitations. This model from Boox solves pretty much all my problems. \n\nGet yours at https://geni.us/LJWpS \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Why Shawn wants the tablet \n0:42 What's in the box \n2:04 Case overview \n3:28 Tablet specs \n4:38 Sponsor \n5:39 Display testing \n11:00 Great for music, but not what you think \n12:38 Comic test \n13:12 How does the stylus work \n14:38 Pricing \n15:56 Watch another video", "E-ink tablets can finally replace iPads - Boox Air5 C", 66, 961, false, "C0WVyZRxCOM", "https://www.youtube.com/watch?v=C0WVyZRxCOM", "/downloads/ShortCircuit/Season 2026/s2026e072500 - E-ink tablets can finally replace iPads - Boox Air5 C.mp4", false, ~U[2026-07-25 17:28:52Z]] 03:35:21.397 [debug] QUERY OK source="sources" db=0.1ms idle=147.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:21.398 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:21.398 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5214472] 03:35:21.398 [debug] Current batch of media processed. Will check again in 1000ms 03:35:22.399 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nThis low-key gaming laptop surprised us with how capable it was in all kinds of scenarios and how chill the hardware design was. Oh yeah, it also has an awesome screen. \n\nGet yours at https://geni.us/SyPs2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "duration" => 1092, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072400 - A Gaming laptop that's great for creators too - Alienware Aurora 16X.mp4", "id" => "gmKvOIgy-iM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gmKvOIgy-iM", "playlist_index" => 7, "timestamp" => 1784919245, "title" => "A Gaming laptop that's great for creators too - Alienware Aurora 16X", "upload_date" => "20260724"} 03:35:22.399 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:22.400 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:22.401 [debug] QUERY OK source="media_items" db=1.7ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 18:54:05Z], 66] 03:35:22.412 [debug] QUERY OK source="media_items" db=10.0ms idle=156.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nThis low-key gaming laptop surprised us with how capable it was in all kinds of scenarios and how chill the hardware design was. Oh yeah, it also has an awesome screen. \n\nGet yours at https://geni.us/SyPs2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "A Gaming laptop that's great for creators too - Alienware Aurora 16X", "af17e0d2-1fe3-42dd-a503-861152410aed", false, 66, [], 1092, false, "gmKvOIgy-iM", "https://www.youtube.com/watch?v=gmKvOIgy-iM", 7, "/downloads/ShortCircuit/Season 2026/s2026e072400 - A Gaming laptop that's great for creators too - Alienware Aurora 16X.mp4", false, false, 98, ~U[2026-07-24 18:54:05Z], ~U[2026-08-05 01:35:22Z], ~U[2026-08-05 01:35:22Z], "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nThis low-key gaming laptop surprised us with how capable it was in all kinds of scenarios and how chill the hardware design was. Oh yeah, it also has an awesome screen. \n\nGet yours at https://geni.us/SyPs2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "A Gaming laptop that's great for creators too - Alienware Aurora 16X", 66, 1092, false, "gmKvOIgy-iM", "https://www.youtube.com/watch?v=gmKvOIgy-iM", "/downloads/ShortCircuit/Season 2026/s2026e072400 - A Gaming laptop that's great for creators too - Alienware Aurora 16X.mp4", false, ~U[2026-07-24 18:54:05Z]] 03:35:22.412 [debug] QUERY OK source="sources" db=0.1ms idle=160.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:22.412 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:22.413 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210646] 03:35:22.413 [debug] Current batch of media processed. Will check again in 1000ms 03:35:23.414 [debug] Current batch of media processed. Will check again in 1000ms 03:35:24.415 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get your tickets for WHALE LAN at: https://www.whalelan.com/\n\nCorsair isn't known for making keyboards, but the Galleon is jam packed with cool features like a mini streamdeck to make customizing your workflow or stream super easy. \n\nCheck it out on Corsair's website - https://prsm2.com/ZN0ehwOy2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "duration" => 895, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072200 - Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD.mp4", "id" => "_SYWJTOcYG8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_SYWJTOcYG8", "playlist_index" => 8, "timestamp" => 1784731837, "title" => "Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD", "upload_date" => "20260722"} 03:35:24.416 [debug] QUERY OK source="sources" db=0.2ms idle=640.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:24.416 [debug] QUERY OK source="sources" db=0.0ms idle=640.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:24.418 [debug] QUERY OK source="media_items" db=1.7ms idle=641.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-22 14:50:37Z], 66] 03:35:24.419 [debug] QUERY OK source="media_items" db=0.6ms idle=169.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your tickets for WHALE LAN at: https://www.whalelan.com/\n\nCorsair isn't known for making keyboards, but the Galleon is jam packed with cool features like a mini streamdeck to make customizing your workflow or stream super easy. \n\nCheck it out on Corsair's website - https://prsm2.com/ZN0ehwOy2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD", "44a9ec18-3857-4406-af6f-485d38497fd2", false, 66, [], 895, false, "_SYWJTOcYG8", "https://www.youtube.com/watch?v=_SYWJTOcYG8", 8, "/downloads/ShortCircuit/Season 2026/s2026e072200 - Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD.mp4", false, false, 98, ~U[2026-07-22 14:50:37Z], ~U[2026-08-05 01:35:24Z], ~U[2026-08-05 01:35:24Z], "Get your tickets for WHALE LAN at: https://www.whalelan.com/\n\nCorsair isn't known for making keyboards, but the Galleon is jam packed with cool features like a mini streamdeck to make customizing your workflow or stream super easy. \n\nCheck it out on Corsair's website - https://prsm2.com/ZN0ehwOy2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD", 66, 895, false, "_SYWJTOcYG8", "https://www.youtube.com/watch?v=_SYWJTOcYG8", "/downloads/ShortCircuit/Season 2026/s2026e072200 - Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD.mp4", false, ~U[2026-07-22 14:50:37Z]] 03:35:24.419 [debug] QUERY OK source="sources" db=0.1ms idle=164.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:24.419 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:24.420 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5202971] 03:35:24.420 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to MSI for sponsoring this video! Go to https://lmg.gg/fhJNo to get yourself the MEG MAESTRO 900R PC Case!\n\nIf you are looking for a new pair of over-ear headphones these new Sennheisers are hard to beat with their excellent ANC, solid sound and comfortable build quality. \n\nGet your Sennheiser Momentum M5 https://geni.us/sc554 at\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:12 Headphone overview \n3:20 Replacing the battery \n4:51 Sponsor \n5:21 Audio testing \n9:45 Other options if you won't want these\n10:07 App overview\n11:18 Mic test \n12:20 Battery life \n12:52 Pricing \n13:28 Watch another video", "duration" => 821, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e072000 - These should make Apple and Sony worried - Sennheiser Momentum 5.mp4", "id" => "dY_Pe2FrE1s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dY_Pe2FrE1s", "playlist_index" => 9, "timestamp" => 1784575364, "title" => "These should make Apple and Sony worried - Sennheiser Momentum 5", "upload_date" => "20260720"} 03:35:24.420 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?)) [66] 03:35:24.420 [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" = ?) [66] 03:35:24.424 [debug] QUERY OK source="media_items" db=3.1ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-20 19:22:44Z], 66] 03:35:24.425 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to MSI for sponsoring this video! Go to https://lmg.gg/fhJNo to get yourself the MEG MAESTRO 900R PC Case!\n\nIf you are looking for a new pair of over-ear headphones these new Sennheisers are hard to beat with their excellent ANC, solid sound and comfortable build quality. \n\nGet your Sennheiser Momentum M5 https://geni.us/sc554 at\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:12 Headphone overview \n3:20 Replacing the battery \n4:51 Sponsor \n5:21 Audio testing \n9:45 Other options if you won't want these\n10:07 App overview\n11:18 Mic test \n12:20 Battery life \n12:52 Pricing \n13:28 Watch another video", "These should make Apple and Sony worried - Sennheiser Momentum 5", "93949bfa-2408-4d98-8d0b-9d52e8ba2447", false, 66, [], 821, false, "dY_Pe2FrE1s", "https://www.youtube.com/watch?v=dY_Pe2FrE1s", 9, "/downloads/ShortCircuit/Season 2026/s2026e072000 - These should make Apple and Sony worried - Sennheiser Momentum 5.mp4", false, false, 98, ~U[2026-07-20 19:22:44Z], ~U[2026-08-05 01:35:24Z], ~U[2026-08-05 01:35:24Z], "Thanks to MSI for sponsoring this video! Go to https://lmg.gg/fhJNo to get yourself the MEG MAESTRO 900R PC Case!\n\nIf you are looking for a new pair of over-ear headphones these new Sennheisers are hard to beat with their excellent ANC, solid sound and comfortable build quality. \n\nGet your Sennheiser Momentum M5 https://geni.us/sc554 at\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:12 Headphone overview \n3:20 Replacing the battery \n4:51 Sponsor \n5:21 Audio testing \n9:45 Other options if you won't want these\n10:07 App overview\n11:18 Mic test \n12:20 Battery life \n12:52 Pricing \n13:28 Watch another video", "These should make Apple and Sony worried - Sennheiser Momentum 5", 66, 821, false, "dY_Pe2FrE1s", "https://www.youtube.com/watch?v=dY_Pe2FrE1s", "/downloads/ShortCircuit/Season 2026/s2026e072000 - These should make Apple and Sony worried - Sennheiser Momentum 5.mp4", false, ~U[2026-07-20 19:22:44Z]] 03:35:24.426 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:24.426 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:24.426 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5195263] 03:35:24.426 [debug] Current batch of media processed. Will check again in 1000ms 03:35:25.427 [debug] Current batch of media processed. Will check again in 1000ms 03:35:26.428 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/SCJuly26 to get started.\n\nIf you are looking for a more travel friendly pair of smart glasses the Berlins from L'Atitude 52°N have a few quirks that make them perfect for anyone looking to go on an adventure.\n\nGet your BERLIN Smart Glasses at https://geni.us/sc549 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Smart glasses for your lifestyle \n0:57 What's in the box \n1:59 Hardware overview \n5:04 Sponsor \n5:40 Testing out the app and software \n7:54 Photo/video test\n11:30 AI test \n12:40 Live translation \n14:33 Speaker test \n16:02 Intercom mode\n16:52 Pricing \n18:04 Watch another video", "duration" => 1096, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e071700 - Smart glasses for refined gentleman - L'Atitude 52°N Berlin.mp4", "id" => "Ib3UYnBecbI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ib3UYnBecbI", "playlist_index" => 10, "timestamp" => 1784308148, "title" => "Smart glasses for refined gentleman - L'Atitude 52°N Berlin", "upload_date" => "20260717"} 03:35:26.429 [debug] QUERY OK source="sources" db=0.1ms idle=653.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:26.429 [debug] QUERY OK source="sources" db=0.1ms idle=653.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:26.432 [debug] QUERY OK source="media_items" db=3.0ms idle=654.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 17:09:08Z], 66] 03:35:26.433 [debug] QUERY OK source="media_items" db=1.0ms idle=177.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/SCJuly26 to get started.\n\nIf you are looking for a more travel friendly pair of smart glasses the Berlins from L'Atitude 52°N have a few quirks that make them perfect for anyone looking to go on an adventure.\n\nGet your BERLIN Smart Glasses at https://geni.us/sc549 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Smart glasses for your lifestyle \n0:57 What's in the box \n1:59 Hardware overview \n5:04 Sponsor \n5:40 Testing out the app and software \n7:54 Photo/video test\n11:30 AI test \n12:40 Live translation \n14:33 Speaker test \n16:02 Intercom mode\n16:52 Pricing \n18:04 Watch another video", "Smart glasses for refined gentleman - L'Atitude 52°N Berlin", "5bf9ae05-0eca-4209-8ca0-d46d6077c69d", false, 66, [], 1096, false, "Ib3UYnBecbI", "https://www.youtube.com/watch?v=Ib3UYnBecbI", 10, "/downloads/ShortCircuit/Season 2026/s2026e071700 - Smart glasses for refined gentleman - L'Atitude 52°N Berlin.mp4", false, false, 98, ~U[2026-07-17 17:09:08Z], ~U[2026-08-05 01:35:26Z], ~U[2026-08-05 01:35:26Z], "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/SCJuly26 to get started.\n\nIf you are looking for a more travel friendly pair of smart glasses the Berlins from L'Atitude 52°N have a few quirks that make them perfect for anyone looking to go on an adventure.\n\nGet your BERLIN Smart Glasses at https://geni.us/sc549 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Smart glasses for your lifestyle \n0:57 What's in the box \n1:59 Hardware overview \n5:04 Sponsor \n5:40 Testing out the app and software \n7:54 Photo/video test\n11:30 AI test \n12:40 Live translation \n14:33 Speaker test \n16:02 Intercom mode\n16:52 Pricing \n18:04 Watch another video", "Smart glasses for refined gentleman - L'Atitude 52°N Berlin", 66, 1096, false, "Ib3UYnBecbI", "https://www.youtube.com/watch?v=Ib3UYnBecbI", "/downloads/ShortCircuit/Season 2026/s2026e071700 - Smart glasses for refined gentleman - L'Atitude 52°N Berlin.mp4", false, ~U[2026-07-17 17:09:08Z]] 03:35:26.434 [debug] QUERY OK source="sources" db=0.2ms idle=173.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:26.434 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:26.435 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5183325] 03:35:26.435 [debug] Current batch of media processed. Will check again in 1000ms 03:35:27.435 [debug] Current batch of media processed. Will check again in 1000ms 03:35:28.436 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get an exclusive 15% discount on Saily data plans! Use code SHORTCIRCUIT at checkout. Download Saily app or go to https://saily.com/shortcircuit\n\nIf you like the idea of SteamOS, but don't like the idea of having it locked in a tiny computer that's hard to upgrade, then the Steamroller is for you. This custom build from Meta PCs costs and performs roughly the same as the Steam Machine, but also includes a clear path to upgrade it in the future.\n\nGet your Steamroller V2 at https://geni.us/sc548 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS \n---------------------------------------------------\n0:00 What's in the box \n3:06 hardware overview \n6:37 Sponsor \n7:20 Setting it up \n12:19 Gaming vs the Steam Machine \n15:17 Pricing", "duration" => 1045, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e071500 - Can’t get a Steam Machine? Buy this - Steamroller V2.mp4", "id" => "aaPj-uuulig", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aaPj-uuulig", "playlist_index" => 11, "timestamp" => 1784125915, "title" => "Can’t get a Steam Machine? Buy this - Steamroller V2", "upload_date" => "20260715"} 03:35:28.437 [debug] QUERY OK source="sources" db=0.2ms idle=661.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:28.437 [debug] QUERY OK source="sources" db=0.1ms idle=661.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:28.440 [debug] QUERY OK source="media_items" db=3.0ms idle=662.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 14:31:55Z], 66] 03:35:28.442 [debug] QUERY OK source="media_items" db=1.0ms idle=182.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get an exclusive 15% discount on Saily data plans! Use code SHORTCIRCUIT at checkout. Download Saily app or go to https://saily.com/shortcircuit\n\nIf you like the idea of SteamOS, but don't like the idea of having it locked in a tiny computer that's hard to upgrade, then the Steamroller is for you. This custom build from Meta PCs costs and performs roughly the same as the Steam Machine, but also includes a clear path to upgrade it in the future.\n\nGet your Steamroller V2 at https://geni.us/sc548 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS \n---------------------------------------------------\n0:00 What's in the box \n3:06 hardware overview \n6:37 Sponsor \n7:20 Setting it up \n12:19 Gaming vs the Steam Machine \n15:17 Pricing", "Can’t get a Steam Machine? Buy this - Steamroller V2", "255349fa-d01f-4e71-9ac4-20feb86cda16", false, 66, [], 1045, false, "aaPj-uuulig", "https://www.youtube.com/watch?v=aaPj-uuulig", 11, "/downloads/ShortCircuit/Season 2026/s2026e071500 - Can’t get a Steam Machine? Buy this - Steamroller V2.mp4", false, false, 98, ~U[2026-07-15 14:31:55Z], ~U[2026-08-05 01:35:28Z], ~U[2026-08-05 01:35:28Z], "Get an exclusive 15% discount on Saily data plans! Use code SHORTCIRCUIT at checkout. Download Saily app or go to https://saily.com/shortcircuit\n\nIf you like the idea of SteamOS, but don't like the idea of having it locked in a tiny computer that's hard to upgrade, then the Steamroller is for you. This custom build from Meta PCs costs and performs roughly the same as the Steam Machine, but also includes a clear path to upgrade it in the future.\n\nGet your Steamroller V2 at https://geni.us/sc548 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS \n---------------------------------------------------\n0:00 What's in the box \n3:06 hardware overview \n6:37 Sponsor \n7:20 Setting it up \n12:19 Gaming vs the Steam Machine \n15:17 Pricing", "Can’t get a Steam Machine? Buy this - Steamroller V2", 66, 1045, false, "aaPj-uuulig", "https://www.youtube.com/watch?v=aaPj-uuulig", "/downloads/ShortCircuit/Season 2026/s2026e071500 - Can’t get a Steam Machine? Buy this - Steamroller V2.mp4", false, ~U[2026-07-15 14:31:55Z]] 03:35:28.442 [debug] QUERY OK source="sources" db=0.2ms idle=178.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:28.442 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:28.442 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5175711] 03:35:28.443 [debug] Current batch of media processed. Will check again in 1000ms 03:35:29.443 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nIt's unclear if and when Intel's next-gen gaming GPU's might come out, so we tested what we could get our hands on today. The Arc B70 is a workstation card with a 32GB of VRAM so while it performs well at AI tasks, we really wanted to see how well it can game.\n\nHead to https://prsm2.com/qVA4QkNPg to grab your Intel ARC B70 today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's going on with Intel GPUs\n0:55 Unboxing \n2:57 Sponsor \n3:31Specs\n6:40 Time to game \n9:00 How is it as a workstation card \n11:06 Final thoughts \n 11:30 Watch another video", "duration" => 700, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e071400 - AI stole Intel’s gaming GPU from us - Intel ARC B70.mp4", "id" => "Dg2SzHCL9QY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Dg2SzHCL9QY", "playlist_index" => 12, "timestamp" => 1784058969, "title" => "AI stole Intel’s gaming GPU from us - Intel ARC B70", "upload_date" => "20260714"} 03:35:29.443 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:29.444 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:29.446 [debug] QUERY OK source="media_items" db=1.8ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-14 19:56:09Z], 66] 03:35:29.456 [debug] QUERY OK source="media_items" db=10.0ms idle=187.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nIt's unclear if and when Intel's next-gen gaming GPU's might come out, so we tested what we could get our hands on today. The Arc B70 is a workstation card with a 32GB of VRAM so while it performs well at AI tasks, we really wanted to see how well it can game.\n\nHead to https://prsm2.com/qVA4QkNPg to grab your Intel ARC B70 today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's going on with Intel GPUs\n0:55 Unboxing \n2:57 Sponsor \n3:31Specs\n6:40 Time to game \n9:00 How is it as a workstation card \n11:06 Final thoughts \n 11:30 Watch another video", "AI stole Intel’s gaming GPU from us - Intel ARC B70", "4e4aa639-2778-40fb-bf9a-c8ea56c3dc60", false, 66, [], 700, false, "Dg2SzHCL9QY", "https://www.youtube.com/watch?v=Dg2SzHCL9QY", 12, "/downloads/ShortCircuit/Season 2026/s2026e071400 - AI stole Intel’s gaming GPU from us - Intel ARC B70.mp4", false, false, 98, ~U[2026-07-14 19:56:09Z], ~U[2026-08-05 01:35:29Z], ~U[2026-08-05 01:35:29Z], "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nIt's unclear if and when Intel's next-gen gaming GPU's might come out, so we tested what we could get our hands on today. The Arc B70 is a workstation card with a 32GB of VRAM so while it performs well at AI tasks, we really wanted to see how well it can game.\n\nHead to https://prsm2.com/qVA4QkNPg to grab your Intel ARC B70 today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's going on with Intel GPUs\n0:55 Unboxing \n2:57 Sponsor \n3:31Specs\n6:40 Time to game \n9:00 How is it as a workstation card \n11:06 Final thoughts \n 11:30 Watch another video", "AI stole Intel’s gaming GPU from us - Intel ARC B70", 66, 700, false, "Dg2SzHCL9QY", "https://www.youtube.com/watch?v=Dg2SzHCL9QY", "/downloads/ShortCircuit/Season 2026/s2026e071400 - AI stole Intel’s gaming GPU from us - Intel ARC B70.mp4", false, ~U[2026-07-14 19:56:09Z]] 03:35:29.456 [debug] QUERY OK source="sources" db=0.1ms idle=191.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:29.457 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:29.457 [debug] QUERY OK source="media_items" db=0.1ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5171919] 03:35:29.457 [debug] Current batch of media processed. Will check again in 1000ms 03:35:30.458 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Built to adapt to your body, the HBADA X7 delivers personalized comfort from morning to night. Save 5% using the codes below. \nHBADA Site: https://bit.ly/4uSiBjN code: CIRCUIT\nAmazon: https://amzn.to/4v0Jn9X code: SHORTCRI\n\nIf you are looking for a new gaming headset this option from Sony surprised us in a lot of ways. \n\nHead to https://prsm2.com/XepxTk5bu to grab your Sony INZONE H6 Air today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n----------------------------------------\n0:00 What's in the box\n1:53 Headphone overview\n4:44 Sponsor \n5:18 Audio quality \n8:45 How to fix the audio quirks \n9:55 Mic quality \n10:37 Final thoughts \n11:15 Watch another ShortCircuit", "duration" => 696, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e071300 - This gaming headset feel weightless - Sony INZONE H6 Air.mp4", "id" => "AeV8a5VdCMQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AeV8a5VdCMQ", "playlist_index" => 13, "timestamp" => 1783953556, "title" => "This gaming headset feel weightless - Sony INZONE H6 Air", "upload_date" => "20260713"} 03:35:30.458 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:30.459 [debug] QUERY OK source="sources" db=0.0ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:30.460 [debug] QUERY OK source="media_items" db=1.7ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-13 14:39:16Z], 66] 03:35:30.464 [debug] QUERY OK source="media_items" db=3.3ms idle=200.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Built to adapt to your body, the HBADA X7 delivers personalized comfort from morning to night. Save 5% using the codes below. \nHBADA Site: https://bit.ly/4uSiBjN code: CIRCUIT\nAmazon: https://amzn.to/4v0Jn9X code: SHORTCRI\n\nIf you are looking for a new gaming headset this option from Sony surprised us in a lot of ways. \n\nHead to https://prsm2.com/XepxTk5bu to grab your Sony INZONE H6 Air today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n----------------------------------------\n0:00 What's in the box\n1:53 Headphone overview\n4:44 Sponsor \n5:18 Audio quality \n8:45 How to fix the audio quirks \n9:55 Mic quality \n10:37 Final thoughts \n11:15 Watch another ShortCircuit", "This gaming headset feel weightless - Sony INZONE H6 Air", "815555a8-1a25-4350-b489-b313e1b6a98f", false, 66, [], 696, false, "AeV8a5VdCMQ", "https://www.youtube.com/watch?v=AeV8a5VdCMQ", 13, "/downloads/ShortCircuit/Season 2026/s2026e071300 - This gaming headset feel weightless - Sony INZONE H6 Air.mp4", false, false, 98, ~U[2026-07-13 14:39:16Z], ~U[2026-08-05 01:35:30Z], ~U[2026-08-05 01:35:30Z], "Built to adapt to your body, the HBADA X7 delivers personalized comfort from morning to night. Save 5% using the codes below. \nHBADA Site: https://bit.ly/4uSiBjN code: CIRCUIT\nAmazon: https://amzn.to/4v0Jn9X code: SHORTCRI\n\nIf you are looking for a new gaming headset this option from Sony surprised us in a lot of ways. \n\nHead to https://prsm2.com/XepxTk5bu to grab your Sony INZONE H6 Air today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n----------------------------------------\n0:00 What's in the box\n1:53 Headphone overview\n4:44 Sponsor \n5:18 Audio quality \n8:45 How to fix the audio quirks \n9:55 Mic quality \n10:37 Final thoughts \n11:15 Watch another ShortCircuit", "This gaming headset feel weightless - Sony INZONE H6 Air", 66, 696, false, "AeV8a5VdCMQ", "https://www.youtube.com/watch?v=AeV8a5VdCMQ", "/downloads/ShortCircuit/Season 2026/s2026e071300 - This gaming headset feel weightless - Sony INZONE H6 Air.mp4", false, ~U[2026-07-13 14:39:16Z]] 03:35:30.465 [debug] QUERY OK source="sources" db=0.1ms idle=199.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:30.465 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:30.465 [debug] QUERY OK source="media_items" db=0.1ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5168133] 03:35:30.465 [debug] Current batch of media processed. Will check again in 1000ms 03:35:31.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Discover powerful sound in a compact design with the Edifier M90.\n - Official Website: https://us.edifier.com/products/m90\n - Amazon: https://lmg.gg/zkQ9U\n\nThe LG C6H is an amazing panel, but the company's software is getting more and more annoying to use every single year. Let's find out if it's still worth getting. \n\nCheck out the LG C6H here: https://geni.us/P4Sbq\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's with the 'H'?\n1:13 Putting it together \n3:44 Sponsor \n4:25 Initial setup \n7:35 Wild Chatbot appears \n12:20 Watching content \n17:37 Check out another video", "duration" => 1087, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e071100 - Help! my TV is drowning in AI - LG C6H.mp4", "id" => "W52tVLQHlms", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W52tVLQHlms", "playlist_index" => 14, "timestamp" => 1783783274, "title" => "Help! my TV is drowning in AI - LG C6H", "upload_date" => "20260711"} 03:35:31.467 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:31.467 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:31.469 [debug] QUERY OK source="media_items" db=2.3ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 15:21:14Z], 66] 03:35:31.471 [debug] QUERY OK source="media_items" db=1.1ms idle=208.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Discover powerful sound in a compact design with the Edifier M90.\n - Official Website: https://us.edifier.com/products/m90\n - Amazon: https://lmg.gg/zkQ9U\n\nThe LG C6H is an amazing panel, but the company's software is getting more and more annoying to use every single year. Let's find out if it's still worth getting. \n\nCheck out the LG C6H here: https://geni.us/P4Sbq\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's with the 'H'?\n1:13 Putting it together \n3:44 Sponsor \n4:25 Initial setup \n7:35 Wild Chatbot appears \n12:20 Watching content \n17:37 Check out another video", "Help! my TV is drowning in AI - LG C6H", "7e7f9eb4-8ed8-4074-978e-02cf8f8b034e", false, 66, [], 1087, false, "W52tVLQHlms", "https://www.youtube.com/watch?v=W52tVLQHlms", 14, "/downloads/ShortCircuit/Season 2026/s2026e071100 - Help! my TV is drowning in AI - LG C6H.mp4", false, false, 98, ~U[2026-07-11 15:21:14Z], ~U[2026-08-05 01:35:31Z], ~U[2026-08-05 01:35:31Z], "Discover powerful sound in a compact design with the Edifier M90.\n - Official Website: https://us.edifier.com/products/m90\n - Amazon: https://lmg.gg/zkQ9U\n\nThe LG C6H is an amazing panel, but the company's software is getting more and more annoying to use every single year. Let's find out if it's still worth getting. \n\nCheck out the LG C6H here: https://geni.us/P4Sbq\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's with the 'H'?\n1:13 Putting it together \n3:44 Sponsor \n4:25 Initial setup \n7:35 Wild Chatbot appears \n12:20 Watching content \n17:37 Check out another video", "Help! my TV is drowning in AI - LG C6H", 66, 1087, false, "W52tVLQHlms", "https://www.youtube.com/watch?v=W52tVLQHlms", "/downloads/ShortCircuit/Season 2026/s2026e071100 - Help! my TV is drowning in AI - LG C6H.mp4", false, ~U[2026-07-11 15:21:14Z]] 03:35:31.471 [debug] QUERY OK source="sources" db=0.2ms idle=204.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:31.471 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:31.472 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160596] 03:35:31.472 [debug] Current batch of media processed. Will check again in 1000ms 03:35:32.472 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Save up to 60% off site-wide at https://shouldhaveaskedvalveforalicense.com\n\nAfter what's felt like hundreds of delays, we've finally got the Trump Phone in for testing and surprising no one, it's not made in America. If you want do dive deeper with some benchmarks check out our LABS companion article - https://www.lttlabs.com/articles/2026/07/09/testing-trump-mobiles-t1-all-that-glitters-is-not-gold\n\nCheck out your own T1 Trump phone here - https://enroll.trumpmobile.com/device-detail/Ml8x\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 T1 Phone history\n4:00 Phone hardware overview \n7:27 Sponsor \n8:38 Who actually makes the T1\n10:27 T1 Android quirks\n14:59 Audio test\n17:30 Water resistance test \n18:50 Camera time \n19:15 Watch another video", "duration" => 1167, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e070900 - We Bought the Trump Phone So You Don’t Have To.mp4", "id" => "nXk5r6vmYFU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nXk5r6vmYFU", "playlist_index" => 15, "timestamp" => 1783606322, "title" => "We Bought the Trump Phone So You Don’t Have To", "upload_date" => "20260709"} 03:35:32.472 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:32.473 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:32.475 [debug] QUERY OK source="media_items" db=2.2ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 14:12:02Z], 66] 03:35:32.486 [debug] QUERY OK source="media_items" db=10.3ms idle=213.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Save up to 60% off site-wide at https://shouldhaveaskedvalveforalicense.com\n\nAfter what's felt like hundreds of delays, we've finally got the Trump Phone in for testing and surprising no one, it's not made in America. If you want do dive deeper with some benchmarks check out our LABS companion article - https://www.lttlabs.com/articles/2026/07/09/testing-trump-mobiles-t1-all-that-glitters-is-not-gold\n\nCheck out your own T1 Trump phone here - https://enroll.trumpmobile.com/device-detail/Ml8x\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 T1 Phone history\n4:00 Phone hardware overview \n7:27 Sponsor \n8:38 Who actually makes the T1\n10:27 T1 Android quirks\n14:59 Audio test\n17:30 Water resistance test \n18:50 Camera time \n19:15 Watch another video", "We Bought the Trump Phone So You Don’t Have To", "ba98e668-1da1-4949-9ee6-656197deb710", false, 66, [], 1167, false, "nXk5r6vmYFU", "https://www.youtube.com/watch?v=nXk5r6vmYFU", 15, "/downloads/ShortCircuit/Season 2026/s2026e070900 - We Bought the Trump Phone So You Don’t Have To.mp4", false, false, 98, ~U[2026-07-09 14:12:02Z], ~U[2026-08-05 01:35:32Z], ~U[2026-08-05 01:35:32Z], "Save up to 60% off site-wide at https://shouldhaveaskedvalveforalicense.com\n\nAfter what's felt like hundreds of delays, we've finally got the Trump Phone in for testing and surprising no one, it's not made in America. If you want do dive deeper with some benchmarks check out our LABS companion article - https://www.lttlabs.com/articles/2026/07/09/testing-trump-mobiles-t1-all-that-glitters-is-not-gold\n\nCheck out your own T1 Trump phone here - https://enroll.trumpmobile.com/device-detail/Ml8x\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 T1 Phone history\n4:00 Phone hardware overview \n7:27 Sponsor \n8:38 Who actually makes the T1\n10:27 T1 Android quirks\n14:59 Audio test\n17:30 Water resistance test \n18:50 Camera time \n19:15 Watch another video", "We Bought the Trump Phone So You Don’t Have To", 66, 1167, false, "nXk5r6vmYFU", "https://www.youtube.com/watch?v=nXk5r6vmYFU", "/downloads/ShortCircuit/Season 2026/s2026e070900 - We Bought the Trump Phone So You Don’t Have To.mp4", false, ~U[2026-07-09 14:12:02Z]] 03:35:32.486 [debug] QUERY OK source="sources" db=0.2ms idle=217.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:32.486 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:32.487 [debug] QUERY OK source="media_items" db=0.2ms idle=13.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5153040] 03:35:32.487 [debug] Current batch of media processed. Will check again in 1000ms 03:35:33.488 [debug] Current batch of media processed. Will check again in 1000ms 03:35:34.489 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to MSI for sending us this laptop and sponsoring this video! Go to https://msi.gm/SC1DF3E5 to learn more and head to https://msi.gm/SFDCF6B7 to get yours\n\nMSI's Stealth series sits comfortably in a jack-of-all-trades slot with the ability to handle AI, gaming and creator workloads with relative ease thanks to it's OLED screen, RTX 50-series GPU options. Not to mention its solid battery life for when you're on-the-go. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:27 What's in the box?\n1:21 First Look\n2:53 Specs\n4:16 Trackpad and Weight\n5:24 Screen\n6:06 Speakers\n7:35 HDR Footage\n7:53 Keyboard\n8:33 1 Finger\n8:51 Webcam\n9:40 Fans/Gaming\n10:26 Benchmarks\n11:26 Teardown\n12:34 Battery\n13:05 Outro", "duration" => 836, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e070800 - Your Boss Doesn't Have To Know - MSI Stealth 16 AI+.mp4", "id" => "_nX1YF3FvHw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_nX1YF3FvHw", "playlist_index" => 16, "timestamp" => 1783539260, "title" => "Your Boss Doesn't Have To Know - MSI Stealth 16 AI+", "upload_date" => "20260708"} 03:35:34.489 [debug] QUERY OK source="sources" db=0.1ms idle=714.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:34.490 [debug] QUERY OK source="sources" db=0.1ms idle=714.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:34.492 [debug] QUERY OK source="media_items" db=2.3ms idle=714.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 19:34:20Z], 66] 03:35:34.503 [debug] QUERY OK source="media_items" db=10.4ms idle=226.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to MSI for sending us this laptop and sponsoring this video! Go to https://msi.gm/SC1DF3E5 to learn more and head to https://msi.gm/SFDCF6B7 to get yours\n\nMSI's Stealth series sits comfortably in a jack-of-all-trades slot with the ability to handle AI, gaming and creator workloads with relative ease thanks to it's OLED screen, RTX 50-series GPU options. Not to mention its solid battery life for when you're on-the-go. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:27 What's in the box?\n1:21 First Look\n2:53 Specs\n4:16 Trackpad and Weight\n5:24 Screen\n6:06 Speakers\n7:35 HDR Footage\n7:53 Keyboard\n8:33 1 Finger\n8:51 Webcam\n9:40 Fans/Gaming\n10:26 Benchmarks\n11:26 Teardown\n12:34 Battery\n13:05 Outro", "Your Boss Doesn't Have To Know - MSI Stealth 16 AI+", "79742651-9df4-4f4a-9272-feeb2cc91692", false, 66, [], 836, false, "_nX1YF3FvHw", "https://www.youtube.com/watch?v=_nX1YF3FvHw", 16, "/downloads/ShortCircuit/Season 2026/s2026e070800 - Your Boss Doesn't Have To Know - MSI Stealth 16 AI+.mp4", false, false, 98, ~U[2026-07-08 19:34:20Z], ~U[2026-08-05 01:35:34Z], ~U[2026-08-05 01:35:34Z], "Thanks to MSI for sending us this laptop and sponsoring this video! Go to https://msi.gm/SC1DF3E5 to learn more and head to https://msi.gm/SFDCF6B7 to get yours\n\nMSI's Stealth series sits comfortably in a jack-of-all-trades slot with the ability to handle AI, gaming and creator workloads with relative ease thanks to it's OLED screen, RTX 50-series GPU options. Not to mention its solid battery life for when you're on-the-go. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:27 What's in the box?\n1:21 First Look\n2:53 Specs\n4:16 Trackpad and Weight\n5:24 Screen\n6:06 Speakers\n7:35 HDR Footage\n7:53 Keyboard\n8:33 1 Finger\n8:51 Webcam\n9:40 Fans/Gaming\n10:26 Benchmarks\n11:26 Teardown\n12:34 Battery\n13:05 Outro", "Your Boss Doesn't Have To Know - MSI Stealth 16 AI+", 66, 836, false, "_nX1YF3FvHw", "https://www.youtube.com/watch?v=_nX1YF3FvHw", "/downloads/ShortCircuit/Season 2026/s2026e070800 - Your Boss Doesn't Have To Know - MSI Stealth 16 AI+.mp4", false, ~U[2026-07-08 19:34:20Z]] 03:35:34.503 [debug] QUERY OK source="sources" db=0.2ms idle=231.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:34.504 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:34.504 [debug] QUERY OK source="media_items" db=0.2ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5149221] 03:35:34.504 [debug] Current batch of media processed. Will check again in 1000ms 03:35:35.505 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to our sponsor Bitdefender! Try their powerful Scam Protection free for 90 days: https://bitdefend.me/90Linus\n#Bitdefender\n\nThe Flydigi Apex 5 promises to be the best of both worlds combining he ergonomics of the ever-popular Xbox controller with the awesome adaptive triggers from the PS5 DualSense, but in practice that seems to be a little harder to make work than we wanted. \n\nCheck out the Flydigi Apex 5 here: https://geni.us/dCpCuM\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n2:05 Compared to Vader 5\n4:10 A digital menu?\n4:48 Neon David Evangelion\n6:23 Sponsor \n6:58 Testing the PC software \n10:50 Trying to figure out the triggers \n13:55 Watch another video", "duration" => 844, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e070700 - This is what a premium controller feels like - Flydigi Apex 5.mp4", "id" => "qIVpt0uSwPA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qIVpt0uSwPA", "playlist_index" => 17, "timestamp" => 1783456765, "title" => "This is what a premium controller feels like - Flydigi Apex 5", "upload_date" => "20260707"} 03:35:35.505 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:35.506 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:35.508 [debug] QUERY OK source="media_items" db=2.3ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 20:39:25Z], 66] 03:35:35.519 [debug] QUERY OK source="media_items" db=10.4ms idle=241.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to our sponsor Bitdefender! Try their powerful Scam Protection free for 90 days: https://bitdefend.me/90Linus\n#Bitdefender\n\nThe Flydigi Apex 5 promises to be the best of both worlds combining he ergonomics of the ever-popular Xbox controller with the awesome adaptive triggers from the PS5 DualSense, but in practice that seems to be a little harder to make work than we wanted. \n\nCheck out the Flydigi Apex 5 here: https://geni.us/dCpCuM\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n2:05 Compared to Vader 5\n4:10 A digital menu?\n4:48 Neon David Evangelion\n6:23 Sponsor \n6:58 Testing the PC software \n10:50 Trying to figure out the triggers \n13:55 Watch another video", "This is what a premium controller feels like - Flydigi Apex 5", "758bb7fe-6d95-44a5-931d-e087ba912cd4", false, 66, [], 844, false, "qIVpt0uSwPA", "https://www.youtube.com/watch?v=qIVpt0uSwPA", 17, "/downloads/ShortCircuit/Season 2026/s2026e070700 - This is what a premium controller feels like - Flydigi Apex 5.mp4", false, false, 98, ~U[2026-07-07 20:39:25Z], ~U[2026-08-05 01:35:35Z], ~U[2026-08-05 01:35:35Z], "Thanks to our sponsor Bitdefender! Try their powerful Scam Protection free for 90 days: https://bitdefend.me/90Linus\n#Bitdefender\n\nThe Flydigi Apex 5 promises to be the best of both worlds combining he ergonomics of the ever-popular Xbox controller with the awesome adaptive triggers from the PS5 DualSense, but in practice that seems to be a little harder to make work than we wanted. \n\nCheck out the Flydigi Apex 5 here: https://geni.us/dCpCuM\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n2:05 Compared to Vader 5\n4:10 A digital menu?\n4:48 Neon David Evangelion\n6:23 Sponsor \n6:58 Testing the PC software \n10:50 Trying to figure out the triggers \n13:55 Watch another video", "This is what a premium controller feels like - Flydigi Apex 5", 66, 844, false, "qIVpt0uSwPA", "https://www.youtube.com/watch?v=qIVpt0uSwPA", "/downloads/ShortCircuit/Season 2026/s2026e070700 - This is what a premium controller feels like - Flydigi Apex 5.mp4", false, ~U[2026-07-07 20:39:25Z]] 03:35:35.519 [debug] QUERY OK source="sources" db=0.2ms idle=246.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:35.520 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:35.520 [debug] QUERY OK source="media_items" db=0.2ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5145444] 03:35:35.520 [debug] Current batch of media processed. Will check again in 1000ms 03:35:36.521 [debug] Current batch of media processed. Will check again in 1000ms 03:35:37.522 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nWe all hate paying Google or Apple for cloud storage and loving building PCs, so what about a device that combines both those things? Enter, the ZimaBoard 2. It's a small PC that you can expand out with a few drives and even a GPU if you wanted to make sure all your files backed up without paying for the cloud or taking up too much room on your desk. \n\nBuy your own ZimaBoard 2 here - https://geni.us/fQp0bJ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:00 What is an SBC\n2:30 Opening the case\n4:07 It even comes with a case \n4:44 Building the NAS kit\n9:50 Sponsor \n10:22 adding more drives \n11:20 Testing ZimaOS\n15:58 Pricing \n16:40 Watch another video", "duration" => 1032, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e070500 - The Pocket-NAS you can build - ZimaBoard 2.mp4", "id" => "F25bP3vWLV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F25bP3vWLV8", "playlist_index" => 18, "timestamp" => 1783273024, "title" => "The Pocket-NAS you can build - ZimaBoard 2", "upload_date" => "20260705"} 03:35:37.522 [debug] QUERY OK source="sources" db=0.1ms idle=746.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:37.523 [debug] QUERY OK source="sources" db=0.1ms idle=746.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:37.525 [debug] QUERY OK source="media_items" db=1.8ms idle=746.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 17:37:04Z], 66] 03:35:37.535 [debug] QUERY OK source="media_items" db=10.0ms idle=255.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nWe all hate paying Google or Apple for cloud storage and loving building PCs, so what about a device that combines both those things? Enter, the ZimaBoard 2. It's a small PC that you can expand out with a few drives and even a GPU if you wanted to make sure all your files backed up without paying for the cloud or taking up too much room on your desk. \n\nBuy your own ZimaBoard 2 here - https://geni.us/fQp0bJ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:00 What is an SBC\n2:30 Opening the case\n4:07 It even comes with a case \n4:44 Building the NAS kit\n9:50 Sponsor \n10:22 adding more drives \n11:20 Testing ZimaOS\n15:58 Pricing \n16:40 Watch another video", "The Pocket-NAS you can build - ZimaBoard 2", "13b5e296-347d-4bef-bbe0-2cfd9d73959f", false, 66, [], 1032, false, "F25bP3vWLV8", "https://www.youtube.com/watch?v=F25bP3vWLV8", 18, "/downloads/ShortCircuit/Season 2026/s2026e070500 - The Pocket-NAS you can build - ZimaBoard 2.mp4", false, false, 98, ~U[2026-07-05 17:37:04Z], ~U[2026-08-05 01:35:37Z], ~U[2026-08-05 01:35:37Z], "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nWe all hate paying Google or Apple for cloud storage and loving building PCs, so what about a device that combines both those things? Enter, the ZimaBoard 2. It's a small PC that you can expand out with a few drives and even a GPU if you wanted to make sure all your files backed up without paying for the cloud or taking up too much room on your desk. \n\nBuy your own ZimaBoard 2 here - https://geni.us/fQp0bJ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:00 What is an SBC\n2:30 Opening the case\n4:07 It even comes with a case \n4:44 Building the NAS kit\n9:50 Sponsor \n10:22 adding more drives \n11:20 Testing ZimaOS\n15:58 Pricing \n16:40 Watch another video", "The Pocket-NAS you can build - ZimaBoard 2", 66, 1032, false, "F25bP3vWLV8", "https://www.youtube.com/watch?v=F25bP3vWLV8", "/downloads/ShortCircuit/Season 2026/s2026e070500 - The Pocket-NAS you can build - ZimaBoard 2.mp4", false, ~U[2026-07-05 17:37:04Z]] 03:35:37.536 [debug] QUERY OK source="sources" db=0.1ms idle=260.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:37.536 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:37.537 [debug] QUERY OK source="media_items" db=0.2ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5137950] 03:35:37.537 [debug] Current batch of media processed. Will check again in 1000ms 03:35:38.537 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to LiberNovo for sponsoring this video! Check out their all new Maxis chair using our links:\n\nEarly Bird starts June 16 — from $809 (up to 44% OFF):\n\n🔗US:https://libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗CA:https://ca.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗EU:https://eu.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n\n#LiberNovo #LiberNovoMaxis #officechair #ergonomicchair\n\nWith its built-in fan and Omni-Stretch lumbar support, there isn't much this chair can't do. It's comfortable and built to fit big and tall users exceptionally well. Stay tuned as Linus and Reece see what all the hype is about and try it out for themselves. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:55 Building the Chair\n1:20 First Impressions \n1:50 Adjustments \n4:10 Active Airflow\n4:26 More Adjustments\n6:40 Removeable Battery \n7:10 Airflow Test\n8:30 Reece Sit Test \n8:58 Price\n9:29 Outro", "duration" => 575, "filename" => "/downloads/ShortCircuit/Season 2026/s2026e070300 - This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis.mp4", "id" => "GX0fLf6kkhk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GX0fLf6kkhk", "playlist_index" => 19, "timestamp" => 1783100382, "title" => "This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis", "upload_date" => "20260703"} 03:35:38.537 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:38.538 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:38.541 [debug] QUERY OK source="media_items" db=3.0ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 17:39:42Z], 66] 03:35:38.542 [debug] QUERY OK source="media_items" db=1.1ms idle=270.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to LiberNovo for sponsoring this video! Check out their all new Maxis chair using our links:\n\nEarly Bird starts June 16 — from $809 (up to 44% OFF):\n\n🔗US:https://libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗CA:https://ca.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗EU:https://eu.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n\n#LiberNovo #LiberNovoMaxis #officechair #ergonomicchair\n\nWith its built-in fan and Omni-Stretch lumbar support, there isn't much this chair can't do. It's comfortable and built to fit big and tall users exceptionally well. Stay tuned as Linus and Reece see what all the hype is about and try it out for themselves. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:55 Building the Chair\n1:20 First Impressions \n1:50 Adjustments \n4:10 Active Airflow\n4:26 More Adjustments\n6:40 Removeable Battery \n7:10 Airflow Test\n8:30 Reece Sit Test \n8:58 Price\n9:29 Outro", "This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis", "5c82fa00-3722-43af-8241-43d2dbbc232b", false, 66, [], 575, false, "GX0fLf6kkhk", "https://www.youtube.com/watch?v=GX0fLf6kkhk", 19, "/downloads/ShortCircuit/Season 2026/s2026e070300 - This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis.mp4", false, false, 98, ~U[2026-07-03 17:39:42Z], ~U[2026-08-05 01:35:38Z], ~U[2026-08-05 01:35:38Z], "Thanks to LiberNovo for sponsoring this video! Check out their all new Maxis chair using our links:\n\nEarly Bird starts June 16 — from $809 (up to 44% OFF):\n\n🔗US:https://libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗CA:https://ca.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗EU:https://eu.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n\n#LiberNovo #LiberNovoMaxis #officechair #ergonomicchair\n\nWith its built-in fan and Omni-Stretch lumbar support, there isn't much this chair can't do. It's comfortable and built to fit big and tall users exceptionally well. Stay tuned as Linus and Reece see what all the hype is about and try it out for themselves. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:55 Building the Chair\n1:20 First Impressions \n1:50 Adjustments \n4:10 Active Airflow\n4:26 More Adjustments\n6:40 Removeable Battery \n7:10 Airflow Test\n8:30 Reece Sit Test \n8:58 Price\n9:29 Outro", "This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis", 66, 575, false, "GX0fLf6kkhk", "https://www.youtube.com/watch?v=GX0fLf6kkhk", "/downloads/ShortCircuit/Season 2026/s2026e070300 - This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis.mp4", false, ~U[2026-07-03 17:39:42Z]] 03:35:38.543 [debug] QUERY OK source="sources" db=0.2ms idle=265.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:38.543 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:38.544 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5131475] 03:35:38.544 [debug] Current batch of media processed. Will check again in 1000ms 03:35:39.435 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ShortCircuit --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/ShortCircuit/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/8f/99/8f9920d9800949c452fec9f7546b6ee609b124a56735a83859206ee48cbcc784.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f2/20/f220819e8217b9de0bf5ebe35db3a905b2e697d5ceee6374bc4062d0a361afc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:35:39.435 [debug] Gracefully stopping file follower 03:35:39.436 [debug] QUERY OK source="sources" db=0.1ms idle=892.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [66] 03:35:39.436 [debug] QUERY OK source="sources" db=0.0ms idle=892.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.438 [debug] QUERY OK source="media_items" db=1.7ms idle=892.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-03 19:57:26Z], 66] 03:35:39.439 [debug] QUERY OK source="media_items" db=0.7ms idle=164.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Learn more about ROG Swift OLED PG32UCWM: https://rog.gg/PG32UCWM_SC\nLearn more about ROG Swift OLED PG27UCWM: https://rog.gg/PG27UCWM_SC\n\nThanks to ROG for sponsoring our first look at their RGB Stripe OLED gaming monitors. If you're looking for a top-end gaming, or even movie watching, experience, these new panels are going to be hard to beat.\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:20 Unboxing\n3:55 I/O \n5:00 Stand Adjustments\n5:30 TrueBlack Glossy Coating\n5:45 Turning on the display\n6:10 Burn-in Reduction \n7:15 Specs\n7:56 DisplayWidget Center\n9:15 Let's play some games! \n10:10 Color Accuracy\n12:15 Latency\n12:45 RGB Stripe\n13:13 Price\n14:00 Outro", "RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM", "ad5556c4-191d-44cc-b90f-7e977a324179", false, 66, [], 854, false, "vI_aUzOCM9E", "https://www.youtube.com/watch?v=vI_aUzOCM9E", 1, "/downloads/ShortCircuit/Season 2026/s2026e080300 - RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM.mp4", false, false, 98, ~U[2026-08-03 19:57:26Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Learn more about ROG Swift OLED PG32UCWM: https://rog.gg/PG32UCWM_SC\nLearn more about ROG Swift OLED PG27UCWM: https://rog.gg/PG27UCWM_SC\n\nThanks to ROG for sponsoring our first look at their RGB Stripe OLED gaming monitors. If you're looking for a top-end gaming, or even movie watching, experience, these new panels are going to be hard to beat.\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:20 Unboxing\n3:55 I/O \n5:00 Stand Adjustments\n5:30 TrueBlack Glossy Coating\n5:45 Turning on the display\n6:10 Burn-in Reduction \n7:15 Specs\n7:56 DisplayWidget Center\n9:15 Let's play some games! \n10:10 Color Accuracy\n12:15 Latency\n12:45 RGB Stripe\n13:13 Price\n14:00 Outro", "RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM", 66, 854, false, "vI_aUzOCM9E", "https://www.youtube.com/watch?v=vI_aUzOCM9E", "/downloads/ShortCircuit/Season 2026/s2026e080300 - RGB Stripe Is the Best OLED Tech You Can Get - ASUS ROG OLED PG32UCWM.mp4", false, ~U[2026-08-03 19:57:26Z]] 03:35:39.439 [debug] QUERY OK source="sources" db=0.1ms idle=159.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.441 [debug] QUERY OK source="media_items" db=1.6ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 19:58:30Z], 66] 03:35:39.442 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Grab a Mirror Dash cam Wolfbox G900Tripro (Bumper Version) Mirror Dash Cam:\nAmazon (Use Code WBGUARD20 for 10% OFF): https://www.amazon.com/WOLFBOX-G900-Tripro-Bumper-Vision/dp/B0DY1GM6DR?maas=maas_adg_EF5180748C92139D1A5B00D863B0CFA9_afap_abs&ref_=aa_maas&tag=maas\n\nOfficial Site (Use Code WBBESTGEAR for an Extra $10 OFF): https://wolfbox.com/products/wolfbox-g900tripro-bumper-version-3-channel-rearview-mirror?ref=linus\n\nThis tablet might be hard to get, but it really stands out against some of the popular options we get in the western hemisphere. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n00:00 - Intro: The Huawei MatePad Pro Max\n01:02 - Hardware Tour & Size Comparisons\n03:19 - Build Quality & Ports\n04:56 - Display & Bezel Breakdown\n06:14 - Performance & Processor Specs\n06:36 - Huawei Glide Keyboard & M Pencil Pro\n10:32 - Sponsor: Wolfbox\n11:00 - Software: Harmony OS & App Experience\n11:49 - Drawing Mode & Pressure Sensitivity\n13:25 - Multitasking & Navigation\n15:06 - Speaker Test (Crab Rave!)\n16:55 - Labs Benchmark Results\n18:51 - Battery Life & Charging Speed\n20:48 - Camera & Microphone Test", "Chinese Tech is getting GOOD… Huawei MatePad Pro Max", "fdcc31fd-ea2d-4b62-9cf1-fdf1125a1a66", false, 66, [], 1522, false, "lIHKjltoDvU", "https://www.youtube.com/watch?v=lIHKjltoDvU", 2, "/downloads/ShortCircuit/Season 2026/s2026e073100 - Chinese Tech is getting GOOD… Huawei MatePad Pro Max.mp4", false, false, 98, ~U[2026-07-31 19:58:30Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Grab a Mirror Dash cam Wolfbox G900Tripro (Bumper Version) Mirror Dash Cam:\nAmazon (Use Code WBGUARD20 for 10% OFF): https://www.amazon.com/WOLFBOX-G900-Tripro-Bumper-Vision/dp/B0DY1GM6DR?maas=maas_adg_EF5180748C92139D1A5B00D863B0CFA9_afap_abs&ref_=aa_maas&tag=maas\n\nOfficial Site (Use Code WBBESTGEAR for an Extra $10 OFF): https://wolfbox.com/products/wolfbox-g900tripro-bumper-version-3-channel-rearview-mirror?ref=linus\n\nThis tablet might be hard to get, but it really stands out against some of the popular options we get in the western hemisphere. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n00:00 - Intro: The Huawei MatePad Pro Max\n01:02 - Hardware Tour & Size Comparisons\n03:19 - Build Quality & Ports\n04:56 - Display & Bezel Breakdown\n06:14 - Performance & Processor Specs\n06:36 - Huawei Glide Keyboard & M Pencil Pro\n10:32 - Sponsor: Wolfbox\n11:00 - Software: Harmony OS & App Experience\n11:49 - Drawing Mode & Pressure Sensitivity\n13:25 - Multitasking & Navigation\n15:06 - Speaker Test (Crab Rave!)\n16:55 - Labs Benchmark Results\n18:51 - Battery Life & Charging Speed\n20:48 - Camera & Microphone Test", "Chinese Tech is getting GOOD… Huawei MatePad Pro Max", 66, 1522, false, "lIHKjltoDvU", "https://www.youtube.com/watch?v=lIHKjltoDvU", "/downloads/ShortCircuit/Season 2026/s2026e073100 - Chinese Tech is getting GOOD… Huawei MatePad Pro Max.mp4", false, ~U[2026-07-31 19:58:30Z]] 03:35:39.443 [debug] QUERY OK source="sources" db=0.3ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.444 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 14:31:10Z], 66] 03:35:39.445 [debug] QUERY OK source="media_items" db=0.9ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your overpriced cases, screen protectors, and stickers at https://mybossisveryshort.com\n\nThe top of the line Samsung foldable is here, but will it be enough to tempt Elijah away from his iPhone? \n\nBuy your own Galaxy fold 8 Ultra - https://geni.us/k5DD\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n------------------------\n00:00 - The Folding Phone Dilemma\n01:17 - Exterior Design & Screen Comparison\n01:50 - The Crease & New Titanium Layers\n02:52 - Port Tour: Thinness vs. The Camera Bump\n03:51 - Camera Specs & AI Processing\n05:10 - Battery Technology & Snapdragon 8 Elite\n05:58 - Sponsor: Dbrand Grip Case & Screen Protector\n07:37 - First Fold & Initial Feel\n08:09 - Display Brightness\n09:33 - Display Resolution & PPI\n10:16 - Anti-Glare & Visual Crease Disappearance\n11:03 - The Difficulty of Opening a Thin Phone\n11:34 - Content Consumption: YouTube & Aspect Ratio\n12:28 - YouTube Multitasking & Gimmicks\n12:50 - Crab Rave\n13:38 - Selfie Camera Tests (Internal vs. External)\n15:30 - Main Camera Performance & 200MP Mode\n17:48 - Power User Multitasking & Windowing\n18:40 - Thoughts on AI Features\n19:06 - Pricing & Final Verdict: Is it Worth It?", "Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra", "fcc4bec6-0522-4233-8a81-79f29b350b17", false, 66, [], 1248, false, "jeW6dAHq2bQ", "https://www.youtube.com/watch?v=jeW6dAHq2bQ", 3, "/downloads/ShortCircuit/Season 2026/s2026e073000 - Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra.mp4", false, false, 98, ~U[2026-07-30 14:31:10Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Get your overpriced cases, screen protectors, and stickers at https://mybossisveryshort.com\n\nThe top of the line Samsung foldable is here, but will it be enough to tempt Elijah away from his iPhone? \n\nBuy your own Galaxy fold 8 Ultra - https://geni.us/k5DD\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n------------------------\n00:00 - The Folding Phone Dilemma\n01:17 - Exterior Design & Screen Comparison\n01:50 - The Crease & New Titanium Layers\n02:52 - Port Tour: Thinness vs. The Camera Bump\n03:51 - Camera Specs & AI Processing\n05:10 - Battery Technology & Snapdragon 8 Elite\n05:58 - Sponsor: Dbrand Grip Case & Screen Protector\n07:37 - First Fold & Initial Feel\n08:09 - Display Brightness\n09:33 - Display Resolution & PPI\n10:16 - Anti-Glare & Visual Crease Disappearance\n11:03 - The Difficulty of Opening a Thin Phone\n11:34 - Content Consumption: YouTube & Aspect Ratio\n12:28 - YouTube Multitasking & Gimmicks\n12:50 - Crab Rave\n13:38 - Selfie Camera Tests (Internal vs. External)\n15:30 - Main Camera Performance & 200MP Mode\n17:48 - Power User Multitasking & Windowing\n18:40 - Thoughts on AI Features\n19:06 - Pricing & Final Verdict: Is it Worth It?", "Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra", 66, 1248, false, "jeW6dAHq2bQ", "https://www.youtube.com/watch?v=jeW6dAHq2bQ", "/downloads/ShortCircuit/Season 2026/s2026e073000 - Just when I thought I was out - Samsung Galaxy Z Fold 8 Ultra.mp4", false, ~U[2026-07-30 14:31:10Z]] 03:35:39.446 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.447 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 19:36:21Z], 66] 03:35:39.449 [debug] QUERY OK source="media_items" db=0.7ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your overpriced cases, screen protectors, and stickers at https://shortlinus.com\n\nLinus and Yvonne went shopping for a new phone (LTT coming soon) but neither of them were sold on Samsung's latest foldable. However, under the magic of the ShortCircuit set lights, something changed in him...\n\nIf you're feeling the smol foldable you can order a Galaxy Fold 8 here: https://geni.us/Qc6HQ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n0:56 The folding phone problem \n1:33 The new size and shape \n2:19 Examining the crease\n2:54 Exterior tour\n3:21 Sponsor \n4:55 Let's talk specs \n7:08 Pricing and form factor \n8:43 Wait a second...\n9:37 Camera time \n11:06 Final thoughts", "My wife said no to this phone - Samsung Galaxy Z fold 8", "cd108251-7bbf-4e74-90d8-11c91ff823e6", false, 66, [], 707, false, "zbqZ-0puJjg", "https://www.youtube.com/watch?v=zbqZ-0puJjg", 4, "/downloads/ShortCircuit/Season 2026/s2026e072800 - My wife said no to this phone - Samsung Galaxy Z fold 8.mp4", false, false, 98, ~U[2026-07-28 19:36:21Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Get your overpriced cases, screen protectors, and stickers at https://shortlinus.com\n\nLinus and Yvonne went shopping for a new phone (LTT coming soon) but neither of them were sold on Samsung's latest foldable. However, under the magic of the ShortCircuit set lights, something changed in him...\n\nIf you're feeling the smol foldable you can order a Galaxy Fold 8 here: https://geni.us/Qc6HQ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n0:56 The folding phone problem \n1:33 The new size and shape \n2:19 Examining the crease\n2:54 Exterior tour\n3:21 Sponsor \n4:55 Let's talk specs \n7:08 Pricing and form factor \n8:43 Wait a second...\n9:37 Camera time \n11:06 Final thoughts", "My wife said no to this phone - Samsung Galaxy Z fold 8", 66, 707, false, "zbqZ-0puJjg", "https://www.youtube.com/watch?v=zbqZ-0puJjg", "/downloads/ShortCircuit/Season 2026/s2026e072800 - My wife said no to this phone - Samsung Galaxy Z fold 8.mp4", false, ~U[2026-07-28 19:36:21Z]] 03:35:39.449 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.450 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 15:01:23Z], 66] 03:35:39.451 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\n\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nWe stole Linus' new Framework 13 Pro to run linux on it and it didn't disappoint. If you are looking for a premium laptop this one is going to be really hard to beat this year. \n\nGet one for yourself here - https://frame.work/laptop13pro\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:30 Lets peek inside\n4:36 Linux time \n6:20 Sponsor \n6:53 Specs \n7:30 Screen impressions \n8:10 Battery results \n9:20 Crab rave audio test \n11:24 Gaming tests \n13:15 Final thoughts and pricing", "I stole Linus’ Framework 13 Pro to put Linux on it", "6703060c-5560-401a-ab34-ec7f3901fb14", false, 66, [], 872, false, "8LILAmXzopk", "https://www.youtube.com/watch?v=8LILAmXzopk", 5, "/downloads/ShortCircuit/Season 2026/s2026e072700 - I stole Linus’ Framework 13 Pro to put Linux on it.mp4", false, false, 98, ~U[2026-07-27 15:01:23Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\n\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nWe stole Linus' new Framework 13 Pro to run linux on it and it didn't disappoint. If you are looking for a premium laptop this one is going to be really hard to beat this year. \n\nGet one for yourself here - https://frame.work/laptop13pro\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:30 Lets peek inside\n4:36 Linux time \n6:20 Sponsor \n6:53 Specs \n7:30 Screen impressions \n8:10 Battery results \n9:20 Crab rave audio test \n11:24 Gaming tests \n13:15 Final thoughts and pricing", "I stole Linus’ Framework 13 Pro to put Linux on it", 66, 872, false, "8LILAmXzopk", "https://www.youtube.com/watch?v=8LILAmXzopk", "/downloads/ShortCircuit/Season 2026/s2026e072700 - I stole Linus’ Framework 13 Pro to put Linux on it.mp4", false, ~U[2026-07-27 15:01:23Z]] 03:35:39.452 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.453 [debug] QUERY OK source="media_items" db=1.4ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 17:28:52Z], 66] 03:35:39.455 [debug] QUERY OK source="media_items" db=0.8ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Purchase the last pair of socks you'll ever need at: https://www.lttstore.com/s/foreversocks\n\nI've been trying to buy a tablet for years but iPad battery has been lacklustre and traditional e-ink tablets have had too many limitations. This model from Boox solves pretty much all my problems. \n\nGet yours at https://geni.us/LJWpS \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Why Shawn wants the tablet \n0:42 What's in the box \n2:04 Case overview \n3:28 Tablet specs \n4:38 Sponsor \n5:39 Display testing \n11:00 Great for music, but not what you think \n12:38 Comic test \n13:12 How does the stylus work \n14:38 Pricing \n15:56 Watch another video", "E-ink tablets can finally replace iPads - Boox Air5 C", "974582e4-4840-412a-8cb2-f65cb3665e6d", false, 66, [], 961, false, "C0WVyZRxCOM", "https://www.youtube.com/watch?v=C0WVyZRxCOM", 6, "/downloads/ShortCircuit/Season 2026/s2026e072500 - E-ink tablets can finally replace iPads - Boox Air5 C.mp4", false, false, 98, ~U[2026-07-25 17:28:52Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Purchase the last pair of socks you'll ever need at: https://www.lttstore.com/s/foreversocks\n\nI've been trying to buy a tablet for years but iPad battery has been lacklustre and traditional e-ink tablets have had too many limitations. This model from Boox solves pretty much all my problems. \n\nGet yours at https://geni.us/LJWpS \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Why Shawn wants the tablet \n0:42 What's in the box \n2:04 Case overview \n3:28 Tablet specs \n4:38 Sponsor \n5:39 Display testing \n11:00 Great for music, but not what you think \n12:38 Comic test \n13:12 How does the stylus work \n14:38 Pricing \n15:56 Watch another video", "E-ink tablets can finally replace iPads - Boox Air5 C", 66, 961, false, "C0WVyZRxCOM", "https://www.youtube.com/watch?v=C0WVyZRxCOM", "/downloads/ShortCircuit/Season 2026/s2026e072500 - E-ink tablets can finally replace iPads - Boox Air5 C.mp4", false, ~U[2026-07-25 17:28:52Z]] 03:35:39.455 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.457 [debug] QUERY OK source="media_items" db=1.6ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 18:54:05Z], 66] 03:35:39.458 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nThis low-key gaming laptop surprised us with how capable it was in all kinds of scenarios and how chill the hardware design was. Oh yeah, it also has an awesome screen. \n\nGet yours at https://geni.us/SyPs2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "A Gaming laptop that's great for creators too - Alienware Aurora 16X", "dbfb90ca-d612-4240-a758-b9ad99ba624c", false, 66, [], 1092, false, "gmKvOIgy-iM", "https://www.youtube.com/watch?v=gmKvOIgy-iM", 7, "/downloads/ShortCircuit/Season 2026/s2026e072400 - A Gaming laptop that's great for creators too - Alienware Aurora 16X.mp4", false, false, 98, ~U[2026-07-24 18:54:05Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nThis low-key gaming laptop surprised us with how capable it was in all kinds of scenarios and how chill the hardware design was. Oh yeah, it also has an awesome screen. \n\nGet yours at https://geni.us/SyPs2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "A Gaming laptop that's great for creators too - Alienware Aurora 16X", 66, 1092, false, "gmKvOIgy-iM", "https://www.youtube.com/watch?v=gmKvOIgy-iM", "/downloads/ShortCircuit/Season 2026/s2026e072400 - A Gaming laptop that's great for creators too - Alienware Aurora 16X.mp4", false, ~U[2026-07-24 18:54:05Z]] 03:35:39.458 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.460 [debug] QUERY OK source="media_items" db=1.5ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-22 14:50:37Z], 66] 03:35:39.461 [debug] QUERY OK source="media_items" db=0.7ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your tickets for WHALE LAN at: https://www.whalelan.com/\n\nCorsair isn't known for making keyboards, but the Galleon is jam packed with cool features like a mini streamdeck to make customizing your workflow or stream super easy. \n\nCheck it out on Corsair's website - https://prsm2.com/ZN0ehwOy2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD", "9a4c5145-64f1-4bc1-a943-685ab5786f74", false, 66, [], 895, false, "_SYWJTOcYG8", "https://www.youtube.com/watch?v=_SYWJTOcYG8", 8, "/downloads/ShortCircuit/Season 2026/s2026e072200 - Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD.mp4", false, false, 98, ~U[2026-07-22 14:50:37Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Get your tickets for WHALE LAN at: https://www.whalelan.com/\n\nCorsair isn't known for making keyboards, but the Galleon is jam packed with cool features like a mini streamdeck to make customizing your workflow or stream super easy. \n\nCheck it out on Corsair's website - https://prsm2.com/ZN0ehwOy2\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.", "Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD", 66, 895, false, "_SYWJTOcYG8", "https://www.youtube.com/watch?v=_SYWJTOcYG8", "/downloads/ShortCircuit/Season 2026/s2026e072200 - Why Didn’t They Do This Sooner? - Corsair Galleon 100 SD.mp4", false, ~U[2026-07-22 14:50:37Z]] 03:35:39.461 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.463 [debug] QUERY OK source="media_items" db=1.6ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-20 19:22:44Z], 66] 03:35:39.464 [debug] QUERY OK source="media_items" db=0.8ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to MSI for sponsoring this video! Go to https://lmg.gg/fhJNo to get yourself the MEG MAESTRO 900R PC Case!\n\nIf you are looking for a new pair of over-ear headphones these new Sennheisers are hard to beat with their excellent ANC, solid sound and comfortable build quality. \n\nGet your Sennheiser Momentum M5 https://geni.us/sc554 at\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:12 Headphone overview \n3:20 Replacing the battery \n4:51 Sponsor \n5:21 Audio testing \n9:45 Other options if you won't want these\n10:07 App overview\n11:18 Mic test \n12:20 Battery life \n12:52 Pricing \n13:28 Watch another video", "These should make Apple and Sony worried - Sennheiser Momentum 5", "f11011c8-5cac-47a4-b751-63a9a8ece4ef", false, 66, [], 821, false, "dY_Pe2FrE1s", "https://www.youtube.com/watch?v=dY_Pe2FrE1s", 9, "/downloads/ShortCircuit/Season 2026/s2026e072000 - These should make Apple and Sony worried - Sennheiser Momentum 5.mp4", false, false, 98, ~U[2026-07-20 19:22:44Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Thanks to MSI for sponsoring this video! Go to https://lmg.gg/fhJNo to get yourself the MEG MAESTRO 900R PC Case!\n\nIf you are looking for a new pair of over-ear headphones these new Sennheisers are hard to beat with their excellent ANC, solid sound and comfortable build quality. \n\nGet your Sennheiser Momentum M5 https://geni.us/sc554 at\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:12 Headphone overview \n3:20 Replacing the battery \n4:51 Sponsor \n5:21 Audio testing \n9:45 Other options if you won't want these\n10:07 App overview\n11:18 Mic test \n12:20 Battery life \n12:52 Pricing \n13:28 Watch another video", "These should make Apple and Sony worried - Sennheiser Momentum 5", 66, 821, false, "dY_Pe2FrE1s", "https://www.youtube.com/watch?v=dY_Pe2FrE1s", "/downloads/ShortCircuit/Season 2026/s2026e072000 - These should make Apple and Sony worried - Sennheiser Momentum 5.mp4", false, ~U[2026-07-20 19:22:44Z]] 03:35:39.465 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.467 [debug] QUERY OK source="media_items" db=1.6ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 17:09:08Z], 66] 03:35:39.470 [debug] QUERY OK source="media_items" db=2.7ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/SCJuly26 to get started.\n\nIf you are looking for a more travel friendly pair of smart glasses the Berlins from L'Atitude 52°N have a few quirks that make them perfect for anyone looking to go on an adventure.\n\nGet your BERLIN Smart Glasses at https://geni.us/sc549 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Smart glasses for your lifestyle \n0:57 What's in the box \n1:59 Hardware overview \n5:04 Sponsor \n5:40 Testing out the app and software \n7:54 Photo/video test\n11:30 AI test \n12:40 Live translation \n14:33 Speaker test \n16:02 Intercom mode\n16:52 Pricing \n18:04 Watch another video", "Smart glasses for refined gentleman - L'Atitude 52°N Berlin", "2bd9f082-9be9-4b25-894c-e3dd05e56c64", false, 66, [], 1096, false, "Ib3UYnBecbI", "https://www.youtube.com/watch?v=Ib3UYnBecbI", 10, "/downloads/ShortCircuit/Season 2026/s2026e071700 - Smart glasses for refined gentleman - L'Atitude 52°N Berlin.mp4", false, false, 98, ~U[2026-07-17 17:09:08Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/SCJuly26 to get started.\n\nIf you are looking for a more travel friendly pair of smart glasses the Berlins from L'Atitude 52°N have a few quirks that make them perfect for anyone looking to go on an adventure.\n\nGet your BERLIN Smart Glasses at https://geni.us/sc549 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Smart glasses for your lifestyle \n0:57 What's in the box \n1:59 Hardware overview \n5:04 Sponsor \n5:40 Testing out the app and software \n7:54 Photo/video test\n11:30 AI test \n12:40 Live translation \n14:33 Speaker test \n16:02 Intercom mode\n16:52 Pricing \n18:04 Watch another video", "Smart glasses for refined gentleman - L'Atitude 52°N Berlin", 66, 1096, false, "Ib3UYnBecbI", "https://www.youtube.com/watch?v=Ib3UYnBecbI", "/downloads/ShortCircuit/Season 2026/s2026e071700 - Smart glasses for refined gentleman - L'Atitude 52°N Berlin.mp4", false, ~U[2026-07-17 17:09:08Z]] 03:35:39.470 [debug] QUERY OK source="sources" db=0.3ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.472 [debug] QUERY OK source="media_items" db=1.6ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 14:31:55Z], 66] 03:35:39.473 [debug] QUERY OK source="media_items" db=0.7ms idle=7.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get an exclusive 15% discount on Saily data plans! Use code SHORTCIRCUIT at checkout. Download Saily app or go to https://saily.com/shortcircuit\n\nIf you like the idea of SteamOS, but don't like the idea of having it locked in a tiny computer that's hard to upgrade, then the Steamroller is for you. This custom build from Meta PCs costs and performs roughly the same as the Steam Machine, but also includes a clear path to upgrade it in the future.\n\nGet your Steamroller V2 at https://geni.us/sc548 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS \n---------------------------------------------------\n0:00 What's in the box \n3:06 hardware overview \n6:37 Sponsor \n7:20 Setting it up \n12:19 Gaming vs the Steam Machine \n15:17 Pricing", "Can’t get a Steam Machine? Buy this - Steamroller V2", "87685afb-62ca-40bb-a639-bfc093b4e1db", false, 66, [], 1045, false, "aaPj-uuulig", "https://www.youtube.com/watch?v=aaPj-uuulig", 11, "/downloads/ShortCircuit/Season 2026/s2026e071500 - Can’t get a Steam Machine? Buy this - Steamroller V2.mp4", false, false, 98, ~U[2026-07-15 14:31:55Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Get an exclusive 15% discount on Saily data plans! Use code SHORTCIRCUIT at checkout. Download Saily app or go to https://saily.com/shortcircuit\n\nIf you like the idea of SteamOS, but don't like the idea of having it locked in a tiny computer that's hard to upgrade, then the Steamroller is for you. This custom build from Meta PCs costs and performs roughly the same as the Steam Machine, but also includes a clear path to upgrade it in the future.\n\nGet your Steamroller V2 at https://geni.us/sc548 \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS \n---------------------------------------------------\n0:00 What's in the box \n3:06 hardware overview \n6:37 Sponsor \n7:20 Setting it up \n12:19 Gaming vs the Steam Machine \n15:17 Pricing", "Can’t get a Steam Machine? Buy this - Steamroller V2", 66, 1045, false, "aaPj-uuulig", "https://www.youtube.com/watch?v=aaPj-uuulig", "/downloads/ShortCircuit/Season 2026/s2026e071500 - Can’t get a Steam Machine? Buy this - Steamroller V2.mp4", false, ~U[2026-07-15 14:31:55Z]] 03:35:39.474 [debug] QUERY OK source="sources" db=0.3ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.476 [debug] QUERY OK source="media_items" db=1.6ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-14 19:56:09Z], 66] 03:35:39.477 [debug] QUERY OK source="media_items" db=1.0ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nIt's unclear if and when Intel's next-gen gaming GPU's might come out, so we tested what we could get our hands on today. The Arc B70 is a workstation card with a 32GB of VRAM so while it performs well at AI tasks, we really wanted to see how well it can game.\n\nHead to https://prsm2.com/qVA4QkNPg to grab your Intel ARC B70 today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's going on with Intel GPUs\n0:55 Unboxing \n2:57 Sponsor \n3:31Specs\n6:40 Time to game \n9:00 How is it as a workstation card \n11:06 Final thoughts \n 11:30 Watch another video", "AI stole Intel’s gaming GPU from us - Intel ARC B70", "03b1a7b1-f032-43a3-9c99-8b81af8232d8", false, 66, [], 700, false, "Dg2SzHCL9QY", "https://www.youtube.com/watch?v=Dg2SzHCL9QY", 12, "/downloads/ShortCircuit/Season 2026/s2026e071400 - AI stole Intel’s gaming GPU from us - Intel ARC B70.mp4", false, false, 98, ~U[2026-07-14 19:56:09Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Check out Plaud NotePin S and save 10% with code SHORTCIRCUIT10:\nPlaud US: https://bit.ly/4xGx1Ft \nPlaud CA: https://bit.ly/44hOuat\nPlaud Amazon: https://amzn.to/3ZysCVI\n\nIt's unclear if and when Intel's next-gen gaming GPU's might come out, so we tested what we could get our hands on today. The Arc B70 is a workstation card with a 32GB of VRAM so while it performs well at AI tasks, we really wanted to see how well it can game.\n\nHead to https://prsm2.com/qVA4QkNPg to grab your Intel ARC B70 today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's going on with Intel GPUs\n0:55 Unboxing \n2:57 Sponsor \n3:31Specs\n6:40 Time to game \n9:00 How is it as a workstation card \n11:06 Final thoughts \n 11:30 Watch another video", "AI stole Intel’s gaming GPU from us - Intel ARC B70", 66, 700, false, "Dg2SzHCL9QY", "https://www.youtube.com/watch?v=Dg2SzHCL9QY", "/downloads/ShortCircuit/Season 2026/s2026e071400 - AI stole Intel’s gaming GPU from us - Intel ARC B70.mp4", false, ~U[2026-07-14 19:56:09Z]] 03:35:39.478 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.479 [debug] QUERY OK source="media_items" db=1.6ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-13 14:39:16Z], 66] 03:35:39.480 [debug] QUERY OK source="media_items" db=0.7ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Built to adapt to your body, the HBADA X7 delivers personalized comfort from morning to night. Save 5% using the codes below. \nHBADA Site: https://bit.ly/4uSiBjN code: CIRCUIT\nAmazon: https://amzn.to/4v0Jn9X code: SHORTCRI\n\nIf you are looking for a new gaming headset this option from Sony surprised us in a lot of ways. \n\nHead to https://prsm2.com/XepxTk5bu to grab your Sony INZONE H6 Air today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n----------------------------------------\n0:00 What's in the box\n1:53 Headphone overview\n4:44 Sponsor \n5:18 Audio quality \n8:45 How to fix the audio quirks \n9:55 Mic quality \n10:37 Final thoughts \n11:15 Watch another ShortCircuit", "This gaming headset feel weightless - Sony INZONE H6 Air", "83363d35-0b61-48de-9294-c2023235ebec", false, 66, [], 696, false, "AeV8a5VdCMQ", "https://www.youtube.com/watch?v=AeV8a5VdCMQ", 13, "/downloads/ShortCircuit/Season 2026/s2026e071300 - This gaming headset feel weightless - Sony INZONE H6 Air.mp4", false, false, 98, ~U[2026-07-13 14:39:16Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Built to adapt to your body, the HBADA X7 delivers personalized comfort from morning to night. Save 5% using the codes below. \nHBADA Site: https://bit.ly/4uSiBjN code: CIRCUIT\nAmazon: https://amzn.to/4v0Jn9X code: SHORTCRI\n\nIf you are looking for a new gaming headset this option from Sony surprised us in a lot of ways. \n\nHead to https://prsm2.com/XepxTk5bu to grab your Sony INZONE H6 Air today!\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nChapters\n----------------------------------------\n0:00 What's in the box\n1:53 Headphone overview\n4:44 Sponsor \n5:18 Audio quality \n8:45 How to fix the audio quirks \n9:55 Mic quality \n10:37 Final thoughts \n11:15 Watch another ShortCircuit", "This gaming headset feel weightless - Sony INZONE H6 Air", 66, 696, false, "AeV8a5VdCMQ", "https://www.youtube.com/watch?v=AeV8a5VdCMQ", "/downloads/ShortCircuit/Season 2026/s2026e071300 - This gaming headset feel weightless - Sony INZONE H6 Air.mp4", false, ~U[2026-07-13 14:39:16Z]] 03:35:39.481 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.483 [debug] QUERY OK source="media_items" db=1.5ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 15:21:14Z], 66] 03:35:39.484 [debug] QUERY OK source="media_items" db=0.8ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Discover powerful sound in a compact design with the Edifier M90.\n - Official Website: https://us.edifier.com/products/m90\n - Amazon: https://lmg.gg/zkQ9U\n\nThe LG C6H is an amazing panel, but the company's software is getting more and more annoying to use every single year. Let's find out if it's still worth getting. \n\nCheck out the LG C6H here: https://geni.us/P4Sbq\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's with the 'H'?\n1:13 Putting it together \n3:44 Sponsor \n4:25 Initial setup \n7:35 Wild Chatbot appears \n12:20 Watching content \n17:37 Check out another video", "Help! my TV is drowning in AI - LG C6H", "14bf7607-438c-4bef-a9a9-10944110fad2", false, 66, [], 1087, false, "W52tVLQHlms", "https://www.youtube.com/watch?v=W52tVLQHlms", 14, "/downloads/ShortCircuit/Season 2026/s2026e071100 - Help! my TV is drowning in AI - LG C6H.mp4", false, false, 98, ~U[2026-07-11 15:21:14Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Discover powerful sound in a compact design with the Edifier M90.\n - Official Website: https://us.edifier.com/products/m90\n - Amazon: https://lmg.gg/zkQ9U\n\nThe LG C6H is an amazing panel, but the company's software is getting more and more annoying to use every single year. Let's find out if it's still worth getting. \n\nCheck out the LG C6H here: https://geni.us/P4Sbq\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's with the 'H'?\n1:13 Putting it together \n3:44 Sponsor \n4:25 Initial setup \n7:35 Wild Chatbot appears \n12:20 Watching content \n17:37 Check out another video", "Help! my TV is drowning in AI - LG C6H", 66, 1087, false, "W52tVLQHlms", "https://www.youtube.com/watch?v=W52tVLQHlms", "/downloads/ShortCircuit/Season 2026/s2026e071100 - Help! my TV is drowning in AI - LG C6H.mp4", false, ~U[2026-07-11 15:21:14Z]] 03:35:39.484 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.486 [debug] QUERY OK source="media_items" db=1.6ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 14:12:02Z], 66] 03:35:39.487 [debug] QUERY OK source="media_items" db=0.9ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Save up to 60% off site-wide at https://shouldhaveaskedvalveforalicense.com\n\nAfter what's felt like hundreds of delays, we've finally got the Trump Phone in for testing and surprising no one, it's not made in America. If you want do dive deeper with some benchmarks check out our LABS companion article - https://www.lttlabs.com/articles/2026/07/09/testing-trump-mobiles-t1-all-that-glitters-is-not-gold\n\nCheck out your own T1 Trump phone here - https://enroll.trumpmobile.com/device-detail/Ml8x\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 T1 Phone history\n4:00 Phone hardware overview \n7:27 Sponsor \n8:38 Who actually makes the T1\n10:27 T1 Android quirks\n14:59 Audio test\n17:30 Water resistance test \n18:50 Camera time \n19:15 Watch another video", "We Bought the Trump Phone So You Don’t Have To", "b470cdd2-e810-414f-be44-bb289e795926", false, 66, [], 1167, false, "nXk5r6vmYFU", "https://www.youtube.com/watch?v=nXk5r6vmYFU", 15, "/downloads/ShortCircuit/Season 2026/s2026e070900 - We Bought the Trump Phone So You Don’t Have To.mp4", false, false, 98, ~U[2026-07-09 14:12:02Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Save up to 60% off site-wide at https://shouldhaveaskedvalveforalicense.com\n\nAfter what's felt like hundreds of delays, we've finally got the Trump Phone in for testing and surprising no one, it's not made in America. If you want do dive deeper with some benchmarks check out our LABS companion article - https://www.lttlabs.com/articles/2026/07/09/testing-trump-mobiles-t1-all-that-glitters-is-not-gold\n\nCheck out your own T1 Trump phone here - https://enroll.trumpmobile.com/device-detail/Ml8x\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 T1 Phone history\n4:00 Phone hardware overview \n7:27 Sponsor \n8:38 Who actually makes the T1\n10:27 T1 Android quirks\n14:59 Audio test\n17:30 Water resistance test \n18:50 Camera time \n19:15 Watch another video", "We Bought the Trump Phone So You Don’t Have To", 66, 1167, false, "nXk5r6vmYFU", "https://www.youtube.com/watch?v=nXk5r6vmYFU", "/downloads/ShortCircuit/Season 2026/s2026e070900 - We Bought the Trump Phone So You Don’t Have To.mp4", false, ~U[2026-07-09 14:12:02Z]] 03:35:39.488 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.490 [debug] QUERY OK source="media_items" db=1.6ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 19:34:20Z], 66] 03:35:39.491 [debug] QUERY OK source="media_items" db=1.0ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to MSI for sending us this laptop and sponsoring this video! Go to https://msi.gm/SC1DF3E5 to learn more and head to https://msi.gm/SFDCF6B7 to get yours\n\nMSI's Stealth series sits comfortably in a jack-of-all-trades slot with the ability to handle AI, gaming and creator workloads with relative ease thanks to it's OLED screen, RTX 50-series GPU options. Not to mention its solid battery life for when you're on-the-go. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:27 What's in the box?\n1:21 First Look\n2:53 Specs\n4:16 Trackpad and Weight\n5:24 Screen\n6:06 Speakers\n7:35 HDR Footage\n7:53 Keyboard\n8:33 1 Finger\n8:51 Webcam\n9:40 Fans/Gaming\n10:26 Benchmarks\n11:26 Teardown\n12:34 Battery\n13:05 Outro", "Your Boss Doesn't Have To Know - MSI Stealth 16 AI+", "dfa31639-be11-41f5-b8d3-cebd3530bb21", false, 66, [], 836, false, "_nX1YF3FvHw", "https://www.youtube.com/watch?v=_nX1YF3FvHw", 16, "/downloads/ShortCircuit/Season 2026/s2026e070800 - Your Boss Doesn't Have To Know - MSI Stealth 16 AI+.mp4", false, false, 98, ~U[2026-07-08 19:34:20Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Thanks to MSI for sending us this laptop and sponsoring this video! Go to https://msi.gm/SC1DF3E5 to learn more and head to https://msi.gm/SFDCF6B7 to get yours\n\nMSI's Stealth series sits comfortably in a jack-of-all-trades slot with the ability to handle AI, gaming and creator workloads with relative ease thanks to it's OLED screen, RTX 50-series GPU options. Not to mention its solid battery life for when you're on-the-go. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:27 What's in the box?\n1:21 First Look\n2:53 Specs\n4:16 Trackpad and Weight\n5:24 Screen\n6:06 Speakers\n7:35 HDR Footage\n7:53 Keyboard\n8:33 1 Finger\n8:51 Webcam\n9:40 Fans/Gaming\n10:26 Benchmarks\n11:26 Teardown\n12:34 Battery\n13:05 Outro", "Your Boss Doesn't Have To Know - MSI Stealth 16 AI+", 66, 836, false, "_nX1YF3FvHw", "https://www.youtube.com/watch?v=_nX1YF3FvHw", "/downloads/ShortCircuit/Season 2026/s2026e070800 - Your Boss Doesn't Have To Know - MSI Stealth 16 AI+.mp4", false, ~U[2026-07-08 19:34:20Z]] 03:35:39.491 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.493 [debug] QUERY OK source="media_items" db=1.5ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 20:39:25Z], 66] 03:35:39.494 [debug] QUERY OK source="media_items" db=0.8ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to our sponsor Bitdefender! Try their powerful Scam Protection free for 90 days: https://bitdefend.me/90Linus\n#Bitdefender\n\nThe Flydigi Apex 5 promises to be the best of both worlds combining he ergonomics of the ever-popular Xbox controller with the awesome adaptive triggers from the PS5 DualSense, but in practice that seems to be a little harder to make work than we wanted. \n\nCheck out the Flydigi Apex 5 here: https://geni.us/dCpCuM\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n2:05 Compared to Vader 5\n4:10 A digital menu?\n4:48 Neon David Evangelion\n6:23 Sponsor \n6:58 Testing the PC software \n10:50 Trying to figure out the triggers \n13:55 Watch another video", "This is what a premium controller feels like - Flydigi Apex 5", "9ea442da-8c84-464a-b401-20b6b72c574a", false, 66, [], 844, false, "qIVpt0uSwPA", "https://www.youtube.com/watch?v=qIVpt0uSwPA", 17, "/downloads/ShortCircuit/Season 2026/s2026e070700 - This is what a premium controller feels like - Flydigi Apex 5.mp4", false, false, 98, ~U[2026-07-07 20:39:25Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Thanks to our sponsor Bitdefender! Try their powerful Scam Protection free for 90 days: https://bitdefend.me/90Linus\n#Bitdefender\n\nThe Flydigi Apex 5 promises to be the best of both worlds combining he ergonomics of the ever-popular Xbox controller with the awesome adaptive triggers from the PS5 DualSense, but in practice that seems to be a little harder to make work than we wanted. \n\nCheck out the Flydigi Apex 5 here: https://geni.us/dCpCuM\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n2:05 Compared to Vader 5\n4:10 A digital menu?\n4:48 Neon David Evangelion\n6:23 Sponsor \n6:58 Testing the PC software \n10:50 Trying to figure out the triggers \n13:55 Watch another video", "This is what a premium controller feels like - Flydigi Apex 5", 66, 844, false, "qIVpt0uSwPA", "https://www.youtube.com/watch?v=qIVpt0uSwPA", "/downloads/ShortCircuit/Season 2026/s2026e070700 - This is what a premium controller feels like - Flydigi Apex 5.mp4", false, ~U[2026-07-07 20:39:25Z]] 03:35:39.495 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.497 [debug] QUERY OK source="media_items" db=1.7ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 17:37:04Z], 66] 03:35:39.498 [debug] QUERY OK source="media_items" db=0.8ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nWe all hate paying Google or Apple for cloud storage and loving building PCs, so what about a device that combines both those things? Enter, the ZimaBoard 2. It's a small PC that you can expand out with a few drives and even a GPU if you wanted to make sure all your files backed up without paying for the cloud or taking up too much room on your desk. \n\nBuy your own ZimaBoard 2 here - https://geni.us/fQp0bJ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:00 What is an SBC\n2:30 Opening the case\n4:07 It even comes with a case \n4:44 Building the NAS kit\n9:50 Sponsor \n10:22 adding more drives \n11:20 Testing ZimaOS\n15:58 Pricing \n16:40 Watch another video", "The Pocket-NAS you can build - ZimaBoard 2", "73af340d-eca4-4b99-86d4-53d74985cca0", false, 66, [], 1032, false, "F25bP3vWLV8", "https://www.youtube.com/watch?v=F25bP3vWLV8", 18, "/downloads/ShortCircuit/Season 2026/s2026e070500 - The Pocket-NAS you can build - ZimaBoard 2.mp4", false, false, 98, ~U[2026-07-05 17:37:04Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Add another layer to your internet privacy toolkit. Get an exclusive deal on Private Internet Access VPN today at https://www.piavpn.com/shortcircuit\n\nWe all hate paying Google or Apple for cloud storage and loving building PCs, so what about a device that combines both those things? Enter, the ZimaBoard 2. It's a small PC that you can expand out with a few drives and even a GPU if you wanted to make sure all your files backed up without paying for the cloud or taking up too much room on your desk. \n\nBuy your own ZimaBoard 2 here - https://geni.us/fQp0bJ\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 What's in the box \n1:00 What is an SBC\n2:30 Opening the case\n4:07 It even comes with a case \n4:44 Building the NAS kit\n9:50 Sponsor \n10:22 adding more drives \n11:20 Testing ZimaOS\n15:58 Pricing \n16:40 Watch another video", "The Pocket-NAS you can build - ZimaBoard 2", 66, 1032, false, "F25bP3vWLV8", "https://www.youtube.com/watch?v=F25bP3vWLV8", "/downloads/ShortCircuit/Season 2026/s2026e070500 - The Pocket-NAS you can build - ZimaBoard 2.mp4", false, ~U[2026-07-05 17:37:04Z]] 03:35:39.498 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.500 [debug] QUERY OK source="media_items" db=1.6ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 17:39:42Z], 66] 03:35:39.501 [debug] QUERY OK source="media_items" db=0.8ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to LiberNovo for sponsoring this video! Check out their all new Maxis chair using our links:\n\nEarly Bird starts June 16 — from $809 (up to 44% OFF):\n\n🔗US:https://libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗CA:https://ca.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗EU:https://eu.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n\n#LiberNovo #LiberNovoMaxis #officechair #ergonomicchair\n\nWith its built-in fan and Omni-Stretch lumbar support, there isn't much this chair can't do. It's comfortable and built to fit big and tall users exceptionally well. Stay tuned as Linus and Reece see what all the hype is about and try it out for themselves. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:55 Building the Chair\n1:20 First Impressions \n1:50 Adjustments \n4:10 Active Airflow\n4:26 More Adjustments\n6:40 Removeable Battery \n7:10 Airflow Test\n8:30 Reece Sit Test \n8:58 Price\n9:29 Outro", "This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis", "1afd21fb-0202-44e9-a9f5-27d6693cf280", false, 66, [], 575, false, "GX0fLf6kkhk", "https://www.youtube.com/watch?v=GX0fLf6kkhk", 19, "/downloads/ShortCircuit/Season 2026/s2026e070300 - This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis.mp4", false, false, 98, ~U[2026-07-03 17:39:42Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Thanks to LiberNovo for sponsoring this video! Check out their all new Maxis chair using our links:\n\nEarly Bird starts June 16 — from $809 (up to 44% OFF):\n\n🔗US:https://libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗CA:https://ca.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n🔗EU:https://eu.libernovo.com/pages/libernovo-maxis-dynamic-ergonomic-chair?ref=LMG\n\n#LiberNovo #LiberNovoMaxis #officechair #ergonomicchair\n\nWith its built-in fan and Omni-Stretch lumbar support, there isn't much this chair can't do. It's comfortable and built to fit big and tall users exceptionally well. Stay tuned as Linus and Reece see what all the hype is about and try it out for themselves. \n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 Intro\n0:55 Building the Chair\n1:20 First Impressions \n1:50 Adjustments \n4:10 Active Airflow\n4:26 More Adjustments\n6:40 Removeable Battery \n7:10 Airflow Test\n8:30 Reece Sit Test \n8:58 Price\n9:29 Outro", "This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis", 66, 575, false, "GX0fLf6kkhk", "https://www.youtube.com/watch?v=GX0fLf6kkhk", "/downloads/ShortCircuit/Season 2026/s2026e070300 - This Chair Makes Me Feel Like a Big Boy - LiberNovo Maxis.mp4", false, ~U[2026-07-03 17:39:42Z]] 03:35:39.502 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [66] 03:35:39.503 [debug] QUERY OK source="media_items" db=1.6ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 20:10:34Z], 66] 03:35:39.514 [debug] QUERY OK source="media_items" db=10.3ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Buy Sihoo Doro C300 Pro V2 here:\n\nOfficial Website (US): https://sihoooffice.com/YTBSHORTCIRCUIT\nOfficial Website (UK): https://uk.sihoooffice.com/YTBSHORTCIRCUIT\n10% OFF Code (Same for US & UK): YTBSHORTCIRCUIT\n\nBuy Via Amazon:\nUS: https://bit.ly/4eirBZy\n6% OFF Code: SIHOODEAL\n\nUK: https://bit.ly/4nZi8JW\n6% OFF Code: YSIHOOSIX\n\nDMS checks out the ASUS ROG Kithara, a $299 open-back gaming headset made in collaboration with HIFIMAN. With planar magnetic drivers, swappable cables, multiple ear pads, and a MEMS microphone, it is trying to bridge the gap between audiophile headphones and gaming headsets, but the tuning is not perfect out of the box.\n\nCheck out the ASUS ROG Kithara here: https://geni.us/eL0Elrm\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 A Gaming Headset for Audio Nerds\n0:18 Accessories and Cables\n2:26 Build and Comfort\n4:15 Sponsor\n4:50 Frequency Response Explained\n5:47 Sound Quality\n8:18 Velour Pads\n9:19 Microphone Test\n9:36 Price and Final Thoughts\n10:20 Credits", "A gaming headset for audio nerds - ROG Kithara", "c0eb46dc-4fdd-4791-92bd-e17f041ec9fd", false, 66, [], 633, false, "Qdr_xKGWc1U", "https://www.youtube.com/watch?v=Qdr_xKGWc1U", 20, "/downloads/ShortCircuit/Season 2026/s2026e070200 - A gaming headset for audio nerds - ROG Kithara.mp4", false, false, 98, ~U[2026-07-02 20:10:34Z], ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], "Buy Sihoo Doro C300 Pro V2 here:\n\nOfficial Website (US): https://sihoooffice.com/YTBSHORTCIRCUIT\nOfficial Website (UK): https://uk.sihoooffice.com/YTBSHORTCIRCUIT\n10% OFF Code (Same for US & UK): YTBSHORTCIRCUIT\n\nBuy Via Amazon:\nUS: https://bit.ly/4eirBZy\n6% OFF Code: SIHOODEAL\n\nUK: https://bit.ly/4nZi8JW\n6% OFF Code: YSIHOOSIX\n\nDMS checks out the ASUS ROG Kithara, a $299 open-back gaming headset made in collaboration with HIFIMAN. With planar magnetic drivers, swappable cables, multiple ear pads, and a MEMS microphone, it is trying to bridge the gap between audiophile headphones and gaming headsets, but the tuning is not perfect out of the box.\n\nCheck out the ASUS ROG Kithara here: https://geni.us/eL0Elrm\n\nWant us to unbox something? Make a suggestion at https://lmg.gg/7s34e\n\nThanks to our channel partner Secretlab!\n- Grab a TITAN Evo ergonomic gaming chair: https://lmg.gg/titanevosc\n- Grab a MAGNUS Pro sit/stand gaming table: https://lmg.gg/magnusprosc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET A VPN: https://www.piavpn.com/ShortCircuit\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n\nPurchases made through some store links may provide some compensation to Linus Media Group. Affiliate links powered in part by https://affilimate.com/\n\nStudio lighting by Aputure:\nhttps://aputure.com/\n\nLinus Sebastian is an investor in Framework Computer, Inc and HexOS by Eshtek.\n\nCHAPTERS\n---------------------------------------------------\n0:00 A Gaming Headset for Audio Nerds\n0:18 Accessories and Cables\n2:26 Build and Comfort\n4:15 Sponsor\n4:50 Frequency Response Explained\n5:47 Sound Quality\n8:18 Velour Pads\n9:19 Microphone Test\n9:36 Price and Final Thoughts\n10:20 Credits", "A gaming headset for audio nerds - ROG Kithara", 66, 633, false, "Qdr_xKGWc1U", "https://www.youtube.com/watch?v=Qdr_xKGWc1U", "/downloads/ShortCircuit/Season 2026/s2026e070200 - A gaming headset for audio nerds - ROG Kithara.mp4", false, ~U[2026-07-02 20:10:34Z]] 03:35:39.515 [debug] QUERY OK source="sources" db=0.5ms idle=14.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z], 66] 03:35:39.519 [debug] QUERY OK source="media_items" db=3.3ms idle=14.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [66] 03:35:39.522 [debug] QUERY OK source="media_items" db=3.1ms idle=17.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [66] 03:35:39.523 [debug] QUERY OK source="media_items" db=0.6ms idle=18.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [66] 03:35:39.525 [debug] QUERY OK source="tasks" db=0.5ms idle=5.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133822, 66, ~U[2026-08-05 01:35:39Z], ~U[2026-08-05 01:35:39Z]] 03:35:39.526 [info] {"args":{"id":66},"id":133319,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":29289297,"event":"job:stop","queue_time":993132,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:35:46.845 [info] {"source":"oban","duration":2612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:56.298 [info] {"args":{"id":22},"id":133320,"meta":{},"system_time":1785893756298881963,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:35:56.299 [debug] QUERY OK source="sources" db=0.1ms idle=1009.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:35:56.299 [debug] QUERY OK source="settings" db=0.1ms idle=1003.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.329 [debug] QUERY OK source="media_items" db=29.4ms idle=8.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [22] 03:35:56.330 [debug] QUERY OK source="media_items" db=0.8ms idle=31.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [22] 03:35:56.330 [debug] QUERY OK source="media_profiles" db=0.1ms idle=31.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:56.330 [debug] QUERY OK source="settings" db=0.0ms idle=31.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.330 [debug] QUERY OK source="settings" db=0.0ms idle=31.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.332 [debug] QUERY OK source="media_items" db=1.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [22] 03:35:56.333 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:35:56.333 [debug] Current batch of media processed. Will check again in 1000ms 03:35:56.333 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.333 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.334 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:56.334 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@PracticalEngineeringChannel --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Practical Engineering/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/8c/71/8c71938ce74e796a5b14ddcd60ca3bf13dbad5c19be95b896a14662cabdc9d21.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e9/44/e944c21f63c8b25ad8b847290af6ae469e94d3eb3a75d58a637694644b7e845f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:35:57.334 [debug] Current batch of media processed. Will check again in 1000ms 03:35:58.335 [debug] Current batch of media processed. Will check again in 1000ms 03:35:59.336 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I love geocells\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nSometimes it’s not all about more massive concrete slabs or the brute strength of steel, but just a little bit of clever geometry and some dirt.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-grid-that-doubles-the-strength-of-the-ground\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWoodland Expedition composed by Caleb Winters\nWater and Light composed by Caleb Winters", "duration" => 1108, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e080400 - The Grid That Doubles the Strength of the Ground.mp4", "id" => "stQfGfUSLQg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=stQfGfUSLQg", "playlist_index" => 1, "timestamp" => 1785848439, "title" => "The Grid That Doubles the Strength of the Ground", "upload_date" => "20260804"} 03:35:59.336 [debug] QUERY OK source="sources" db=0.1ms idle=1560.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:35:59.337 [debug] QUERY OK source="sources" db=0.0ms idle=1044.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:35:59.337 [debug] QUERY OK source="media_items" db=0.2ms idle=1038.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 13:00:39Z], 22] 03:35:59.348 [debug] QUERY OK source="media_items" db=10.6ms idle=43.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I love geocells\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nSometimes it’s not all about more massive concrete slabs or the brute strength of steel, but just a little bit of clever geometry and some dirt.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-grid-that-doubles-the-strength-of-the-ground\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWoodland Expedition composed by Caleb Winters\nWater and Light composed by Caleb Winters", "The Grid That Doubles the Strength of the Ground", "9d631e9c-b875-43fd-944d-cdfe70e1b1e6", false, 22, [], 1108, false, "stQfGfUSLQg", "https://www.youtube.com/watch?v=stQfGfUSLQg", 1, "/downloads/Practical Engineering/Season 2026/s2026e080400 - The Grid That Doubles the Strength of the Ground.mp4", false, false, 99, ~U[2026-08-04 13:00:39Z], ~U[2026-08-05 01:35:59Z], ~U[2026-08-05 01:35:59Z], "I love geocells\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nSometimes it’s not all about more massive concrete slabs or the brute strength of steel, but just a little bit of clever geometry and some dirt.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-grid-that-doubles-the-strength-of-the-ground\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWoodland Expedition composed by Caleb Winters\nWater and Light composed by Caleb Winters", "The Grid That Doubles the Strength of the Ground", 22, 1108, false, "stQfGfUSLQg", "https://www.youtube.com/watch?v=stQfGfUSLQg", "/downloads/Practical Engineering/Season 2026/s2026e080400 - The Grid That Doubles the Strength of the Ground.mp4", false, ~U[2026-08-04 13:00:39Z]] 03:35:59.348 [debug] QUERY OK source="sources" db=0.1ms idle=49.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:35:59.349 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:59.349 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5252964] 03:35:59.349 [info] Kicking off download for media item #5252964 (stQfGfUSLQg) 03:35:59.350 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133823, 5252964, ~U[2026-08-05 01:35:59Z], ~U[2026-08-05 01:35:59Z]] 03:35:59.350 [debug] Current batch of media processed. Will check again in 1000ms 03:35:59.356 [info] {"args":{"id":5252964},"id":133823,"meta":{},"system_time":1785893759356855633,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:35:59.357 [debug] QUERY OK source="media_items" db=0.1ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5252964] 03:35:59.357 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:35:59.357 [debug] QUERY OK source="sources" db=0.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:35:59.357 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:59.358 [debug] QUERY OK source="media_items" db=0.1ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5252964] 03:35:59.358 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5252964] 03:35:59.358 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:35:59.359 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:59.359 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:59.359 [debug] Running yt-dlp command for action: get_downloadable_status 03:35:59.359 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:59.359 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:59.359 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:59.360 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=stQfGfUSLQg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/73/5073c35b703325ede2fbb2a2f3f2404290f5411c4c5c3594014bb922de957274.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:00.351 [debug] Current batch of media processed. Will check again in 1000ms 03:36:00.390 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:01.352 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A tour of the subsurface in NYC\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nErrata: At 8:00, winding are showing a step-up transformer and should be swapped.\n\nThe underground of New York is almost a city within a city. We kind of get used to having all these utilities and services that it’s easy to forget the physical space they all take up and the work that goes into installing and maintaining them.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-under-your-feet-in-new-york-city\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nHimalayan Spell from Epidemic Sound\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1351, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e072100 - What's Under Your Feet in New York City?.mp4", "id" => "Iclf_JnPkKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Iclf_JnPkKw", "playlist_index" => 2, "timestamp" => 1784638932, "title" => "What's Under Your Feet in New York City?", "upload_date" => "20260721"} 03:36:01.353 [debug] QUERY OK source="sources" db=0.1ms idle=962.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:01.353 [debug] QUERY OK source="sources" db=0.1ms idle=576.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:01.354 [debug] QUERY OK source="media_items" db=0.5ms idle=577.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 13:02:12Z], 22] 03:36:01.365 [debug] QUERY OK source="media_items" db=10.4ms idle=58.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A tour of the subsurface in NYC\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nErrata: At 8:00, winding are showing a step-up transformer and should be swapped.\n\nThe underground of New York is almost a city within a city. We kind of get used to having all these utilities and services that it’s easy to forget the physical space they all take up and the work that goes into installing and maintaining them.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-under-your-feet-in-new-york-city\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nHimalayan Spell from Epidemic Sound\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "What's Under Your Feet in New York City?", "7b175e26-c003-46d1-b313-f839cd30b5ae", false, 22, [], 1351, false, "Iclf_JnPkKw", "https://www.youtube.com/watch?v=Iclf_JnPkKw", 2, "/downloads/Practical Engineering/Season 2026/s2026e072100 - What's Under Your Feet in New York City?.mp4", false, false, 98, ~U[2026-07-21 13:02:12Z], ~U[2026-08-05 01:36:01Z], ~U[2026-08-05 01:36:01Z], "A tour of the subsurface in NYC\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nErrata: At 8:00, winding are showing a step-up transformer and should be swapped.\n\nThe underground of New York is almost a city within a city. We kind of get used to having all these utilities and services that it’s easy to forget the physical space they all take up and the work that goes into installing and maintaining them.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-under-your-feet-in-new-york-city\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nHimalayan Spell from Epidemic Sound\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "What's Under Your Feet in New York City?", 22, 1351, false, "Iclf_JnPkKw", "https://www.youtube.com/watch?v=Iclf_JnPkKw", "/downloads/Practical Engineering/Season 2026/s2026e072100 - What's Under Your Feet in New York City?.mp4", false, ~U[2026-07-21 13:02:12Z]] 03:36:01.365 [debug] QUERY OK source="sources" db=0.2ms idle=63.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:01.365 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:01.366 [debug] QUERY OK source="media_items" db=0.1ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5199144] 03:36:01.366 [debug] Current batch of media processed. Will check again in 1000ms 03:36:01.669 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=stQfGfUSLQg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/73/5073c35b703325ede2fbb2a2f3f2404290f5411c4c5c3594014bb922de957274.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:36:01.669 [error] yt-dlp download error for media item #5252964: "WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:36:01.670 [debug] QUERY OK source="media_items" db=1.1ms idle=315.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2026-08-05 01:36:01Z], 5252964] 03:36:01.670 [error] yt-dlp download will not be retried: "WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:36:01.671 [info] {"args":{"id":5252964},"id":133823,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2314001,"event":"job:stop","queue_time":356373,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:02.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Based on a chapter from Disasters By Design: How Engineering Failures Shaped the Modern World by Grady Hillhouse, coming March 2, 2027, and available for preorder now.\nUS: https://www.penguinrandomhouse.com/books/786143/disasters-by-design-by-grady-hillhouse/\nUK: https://www.penguin.co.uk/books/476190/disasters-by-design-by-hillhouse-grady/9780241798508\nMore About the Book: https://practical.engineering/books\n\nWhat happened in New Orleans in August 2005 wasn’t a natural disaster. A number of engineering errors made the hurricane far more deadly than it would have been otherwise. And I built a model to show you why.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-the-levees-failed-in-new-orleans\n\nSigned copies of my first book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nMagnified XY from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "duration" => 1474, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e070700 - The Mind-Blowing Flaw That Flooded New Orleans.mp4", "id" => "Ku_ockR2t44", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ku_ockR2t44", "playlist_index" => 3, "timestamp" => 1783429205, "title" => "The Mind-Blowing Flaw That Flooded New Orleans", "upload_date" => "20260707"} 03:36:02.368 [debug] QUERY OK source="sources" db=0.2ms idle=697.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:02.368 [debug] QUERY OK source="sources" db=0.0ms idle=697.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:02.369 [debug] QUERY OK source="media_items" db=0.6ms idle=690.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 13:00:05Z], 22] 03:36:02.370 [debug] QUERY OK source="media_items" db=1.0ms idle=72.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Based on a chapter from Disasters By Design: How Engineering Failures Shaped the Modern World by Grady Hillhouse, coming March 2, 2027, and available for preorder now.\nUS: https://www.penguinrandomhouse.com/books/786143/disasters-by-design-by-grady-hillhouse/\nUK: https://www.penguin.co.uk/books/476190/disasters-by-design-by-hillhouse-grady/9780241798508\nMore About the Book: https://practical.engineering/books\n\nWhat happened in New Orleans in August 2005 wasn’t a natural disaster. A number of engineering errors made the hurricane far more deadly than it would have been otherwise. And I built a model to show you why.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-the-levees-failed-in-new-orleans\n\nSigned copies of my first book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nMagnified XY from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Mind-Blowing Flaw That Flooded New Orleans", "b08354b2-c58a-4e2a-af37-df23060fa38a", false, 22, [], 1474, false, "Ku_ockR2t44", "https://www.youtube.com/watch?v=Ku_ockR2t44", 3, "/downloads/Practical Engineering/Season 2026/s2026e070700 - The Mind-Blowing Flaw That Flooded New Orleans.mp4", false, false, 98, ~U[2026-07-07 13:00:05Z], ~U[2026-08-05 01:36:02Z], ~U[2026-08-05 01:36:02Z], "Based on a chapter from Disasters By Design: How Engineering Failures Shaped the Modern World by Grady Hillhouse, coming March 2, 2027, and available for preorder now.\nUS: https://www.penguinrandomhouse.com/books/786143/disasters-by-design-by-grady-hillhouse/\nUK: https://www.penguin.co.uk/books/476190/disasters-by-design-by-hillhouse-grady/9780241798508\nMore About the Book: https://practical.engineering/books\n\nWhat happened in New Orleans in August 2005 wasn’t a natural disaster. A number of engineering errors made the hurricane far more deadly than it would have been otherwise. And I built a model to show you why.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-the-levees-failed-in-new-orleans\n\nSigned copies of my first book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nMagnified XY from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Mind-Blowing Flaw That Flooded New Orleans", 22, 1474, false, "Ku_ockR2t44", "https://www.youtube.com/watch?v=Ku_ockR2t44", "/downloads/Practical Engineering/Season 2026/s2026e070700 - The Mind-Blowing Flaw That Flooded New Orleans.mp4", false, ~U[2026-07-07 13:00:05Z]] 03:36:02.370 [debug] QUERY OK source="sources" db=0.1ms idle=67.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:02.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:02.371 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5145521] 03:36:02.371 [debug] Current batch of media processed. Will check again in 1000ms 03:36:03.372 [debug] Current batch of media processed. Will check again in 1000ms 03:36:04.373 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The complex engineering involved in demolishing the I-74 Mississippi River Bridge.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nNo shade at all to the new bridges, but honestly I think taking the old ones down was the coolest part of the entire replacement project.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-how-to-demolish-a-bridge\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThanks to IOWA DOT, Helm Civil, and Genesis Structures for sharing information about the project.\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1076, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e061600 - Bridge Demolition is Complicated.mp4", "id" => "7oi4yMr8Rjk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7oi4yMr8Rjk", "playlist_index" => 4, "timestamp" => 1781609874, "title" => "Bridge Demolition is Complicated", "upload_date" => "20260616"} 03:36:04.373 [debug] QUERY OK source="sources" db=0.1ms idle=597.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:04.374 [debug] QUERY OK source="sources" db=0.1ms idle=597.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:04.375 [debug] QUERY OK source="media_items" db=1.0ms idle=597.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 11:37:54Z], 22] 03:36:04.377 [debug] QUERY OK source="media_items" db=1.4ms idle=76.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The complex engineering involved in demolishing the I-74 Mississippi River Bridge.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nNo shade at all to the new bridges, but honestly I think taking the old ones down was the coolest part of the entire replacement project.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-how-to-demolish-a-bridge\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThanks to IOWA DOT, Helm Civil, and Genesis Structures for sharing information about the project.\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Bridge Demolition is Complicated", "17b06dcc-8898-49bb-9973-e34f43150678", false, 22, [], 1076, false, "7oi4yMr8Rjk", "https://www.youtube.com/watch?v=7oi4yMr8Rjk", 4, "/downloads/Practical Engineering/Season 2026/s2026e061600 - Bridge Demolition is Complicated.mp4", false, false, 98, ~U[2026-06-16 11:37:54Z], ~U[2026-08-05 01:36:04Z], ~U[2026-08-05 01:36:04Z], "The complex engineering involved in demolishing the I-74 Mississippi River Bridge.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nNo shade at all to the new bridges, but honestly I think taking the old ones down was the coolest part of the entire replacement project.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-how-to-demolish-a-bridge\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThanks to IOWA DOT, Helm Civil, and Genesis Structures for sharing information about the project.\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Bridge Demolition is Complicated", 22, 1076, false, "7oi4yMr8Rjk", "https://www.youtube.com/watch?v=7oi4yMr8Rjk", "/downloads/Practical Engineering/Season 2026/s2026e061600 - Bridge Demolition is Complicated.mp4", false, ~U[2026-06-16 11:37:54Z]] 03:36:04.377 [debug] QUERY OK source="sources" db=0.2ms idle=72.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:04.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:04.378 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5076354] 03:36:04.378 [debug] Current batch of media processed. Will check again in 1000ms 03:36:05.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The bizarre science of washboards on unpaved roads\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe more we understand the physics of washboarding, the better we can engineer roads that stay safe, smooth, and reliable.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-roads-get-washboards\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1074, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e060200 - Why Roads Get Washboards.mp4", "id" => "3YvwqMDDb3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3YvwqMDDb3k", "playlist_index" => 5, "timestamp" => 1780405223, "title" => "Why Roads Get Washboards", "upload_date" => "20260602"} 03:36:05.380 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:05.380 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:05.381 [debug] QUERY OK source="media_items" db=0.9ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:00:23Z], 22] 03:36:05.410 [debug] QUERY OK source="media_items" db=28.5ms idle=81.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The bizarre science of washboards on unpaved roads\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe more we understand the physics of washboarding, the better we can engineer roads that stay safe, smooth, and reliable.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-roads-get-washboards\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Why Roads Get Washboards", "1cd62bb9-eb98-4e8a-8271-c89e041468a8", false, 22, [], 1074, false, "3YvwqMDDb3k", "https://www.youtube.com/watch?v=3YvwqMDDb3k", 5, "/downloads/Practical Engineering/Season 2026/s2026e060200 - Why Roads Get Washboards.mp4", false, false, 98, ~U[2026-06-02 13:00:23Z], ~U[2026-08-05 01:36:05Z], ~U[2026-08-05 01:36:05Z], "The bizarre science of washboards on unpaved roads\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe more we understand the physics of washboarding, the better we can engineer roads that stay safe, smooth, and reliable.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-roads-get-washboards\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Why Roads Get Washboards", 22, 1074, false, "3YvwqMDDb3k", "https://www.youtube.com/watch?v=3YvwqMDDb3k", "/downloads/Practical Engineering/Season 2026/s2026e060200 - Why Roads Get Washboards.mp4", false, ~U[2026-06-02 13:00:23Z]] 03:36:05.411 [debug] QUERY OK source="sources" db=0.2ms idle=104.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:05.411 [debug] QUERY OK source="media_profiles" db=0.2ms idle=31.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:05.412 [debug] QUERY OK source="media_items" db=0.2ms idle=31.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5026620] 03:36:05.412 [debug] Current batch of media processed. Will check again in 1000ms 03:36:06.412 [debug] Current batch of media processed. Will check again in 1000ms 03:36:07.413 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The wild story of Mosul Dam in northern Iraq\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nFor the past 40 years or so, the problem at Mosul Dam has been ongoing, scrutinized by some of the most preeminent engineers across the world and complicated by politics, bureaucracy, and armed conflict.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-fixing-the-most-dangerous-dam-in-the-world\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nPattern View from Epidemic Sound\nMagnified XY from Epidemic Sound\nAural Imprints from Epidemic Sound\nCactus Song from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "duration" => 1343, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e051900 - Fixing the Most Dangerous Dam in the World.mp4", "id" => "DWLcmq_DiaA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DWLcmq_DiaA", "playlist_index" => 6, "timestamp" => 1779195631, "title" => "Fixing the Most Dangerous Dam in the World", "upload_date" => "20260519"} 03:36:07.413 [debug] QUERY OK source="sources" db=0.1ms idle=637.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:07.414 [debug] QUERY OK source="sources" db=0.1ms idle=637.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:07.415 [debug] QUERY OK source="media_items" db=0.7ms idle=637.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 13:00:31Z], 22] 03:36:07.432 [debug] QUERY OK source="media_items" db=16.5ms idle=112.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The wild story of Mosul Dam in northern Iraq\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nFor the past 40 years or so, the problem at Mosul Dam has been ongoing, scrutinized by some of the most preeminent engineers across the world and complicated by politics, bureaucracy, and armed conflict.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-fixing-the-most-dangerous-dam-in-the-world\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nPattern View from Epidemic Sound\nMagnified XY from Epidemic Sound\nAural Imprints from Epidemic Sound\nCactus Song from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "Fixing the Most Dangerous Dam in the World", "091432a0-ef35-447b-8eeb-a84d686d3a6f", false, 22, [], 1343, false, "DWLcmq_DiaA", "https://www.youtube.com/watch?v=DWLcmq_DiaA", 6, "/downloads/Practical Engineering/Season 2026/s2026e051900 - Fixing the Most Dangerous Dam in the World.mp4", false, false, 98, ~U[2026-05-19 13:00:31Z], ~U[2026-08-05 01:36:07Z], ~U[2026-08-05 01:36:07Z], "The wild story of Mosul Dam in northern Iraq\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nFor the past 40 years or so, the problem at Mosul Dam has been ongoing, scrutinized by some of the most preeminent engineers across the world and complicated by politics, bureaucracy, and armed conflict.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-fixing-the-most-dangerous-dam-in-the-world\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nPattern View from Epidemic Sound\nMagnified XY from Epidemic Sound\nAural Imprints from Epidemic Sound\nCactus Song from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "Fixing the Most Dangerous Dam in the World", 22, 1343, false, "DWLcmq_DiaA", "https://www.youtube.com/watch?v=DWLcmq_DiaA", "/downloads/Practical Engineering/Season 2026/s2026e051900 - Fixing the Most Dangerous Dam in the World.mp4", false, ~U[2026-05-19 13:00:31Z]] 03:36:07.432 [debug] QUERY OK source="sources" db=0.3ms idle=123.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:07.432 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:07.433 [debug] QUERY OK source="media_items" db=0.2ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4975033] 03:36:07.433 [debug] Current batch of media processed. Will check again in 1000ms 03:36:08.433 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "_Closed Conduit Hydraulics_ is a place where intuitions don’t always serve you well\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe garden hose is a backyard version of the same problem engineers and operators deal with every day: how much flow can you get through a real system, and what does it cost you in pressure?\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-physics-behind-the-thumb-trick\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTapped Out from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters\nWoodland Expedition composed by Caleb Winters", "duration" => 1062, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e050500 - The Physics Behind the Thumb Trick.mp4", "id" => "fKuIJ_z2Y6A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fKuIJ_z2Y6A", "playlist_index" => 7, "timestamp" => 1777986076, "title" => "The Physics Behind the Thumb Trick", "upload_date" => "20260505"} 03:36:08.434 [debug] QUERY OK source="sources" db=0.2ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:08.434 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:08.435 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 13:01:16Z], 22] 03:36:08.436 [debug] QUERY OK source="media_items" db=1.0ms idle=131.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["_Closed Conduit Hydraulics_ is a place where intuitions don’t always serve you well\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe garden hose is a backyard version of the same problem engineers and operators deal with every day: how much flow can you get through a real system, and what does it cost you in pressure?\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-physics-behind-the-thumb-trick\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTapped Out from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters\nWoodland Expedition composed by Caleb Winters", "The Physics Behind the Thumb Trick", "7eaee265-8871-4fdc-a0ad-c1c38d687cc0", false, 22, [], 1062, false, "fKuIJ_z2Y6A", "https://www.youtube.com/watch?v=fKuIJ_z2Y6A", 7, "/downloads/Practical Engineering/Season 2026/s2026e050500 - The Physics Behind the Thumb Trick.mp4", false, false, 98, ~U[2026-05-05 13:01:16Z], ~U[2026-08-05 01:36:08Z], ~U[2026-08-05 01:36:08Z], "_Closed Conduit Hydraulics_ is a place where intuitions don’t always serve you well\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe garden hose is a backyard version of the same problem engineers and operators deal with every day: how much flow can you get through a real system, and what does it cost you in pressure?\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-physics-behind-the-thumb-trick\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTapped Out from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters\nWoodland Expedition composed by Caleb Winters", "The Physics Behind the Thumb Trick", 22, 1062, false, "fKuIJ_z2Y6A", "https://www.youtube.com/watch?v=fKuIJ_z2Y6A", "/downloads/Practical Engineering/Season 2026/s2026e050500 - The Physics Behind the Thumb Trick.mp4", false, ~U[2026-05-05 13:01:16Z]] 03:36:08.436 [debug] QUERY OK source="sources" db=0.1ms idle=126.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:08.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:08.437 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4924176] 03:36:08.437 [debug] Current batch of media processed. Will check again in 1000ms 03:36:09.438 [debug] Current batch of media processed. Will check again in 1000ms 03:36:10.439 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This year is the 50th anniversary of the Teton Dam Failure\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch Joe Scott - Oldest and Newest Places on Earth: https://nebula.tv/oldestnewest?ref=practical-engineering\n\nTeton was one of the most dramatic and catalyzing dam failures of the 20th century in the US.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-wild-story-of-the-teton-dam-failure\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nBuilding Blocks from Epidemic Sound\nAural Imprints from Epidemic Sound\nAddicted To Me from Epidemic Sound\nMagnified XY from Epidemic Sound\nThe Road Less Travelled from Epidemic Sound", "duration" => 1162, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e042100 - The Wild Story of the Teton Dam Failure.mp4", "id" => "J7ieKmP96Hc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J7ieKmP96Hc", "playlist_index" => 8, "timestamp" => 1776776428, "title" => "The Wild Story of the Teton Dam Failure", "upload_date" => "20260421"} 03:36:10.440 [debug] QUERY OK source="sources" db=0.1ms idle=663.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:10.440 [debug] QUERY OK source="sources" db=0.0ms idle=663.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:10.441 [debug] QUERY OK source="media_items" db=0.9ms idle=663.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 13:00:28Z], 22] 03:36:10.443 [debug] QUERY OK source="media_items" db=1.8ms idle=135.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This year is the 50th anniversary of the Teton Dam Failure\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch Joe Scott - Oldest and Newest Places on Earth: https://nebula.tv/oldestnewest?ref=practical-engineering\n\nTeton was one of the most dramatic and catalyzing dam failures of the 20th century in the US.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-wild-story-of-the-teton-dam-failure\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nBuilding Blocks from Epidemic Sound\nAural Imprints from Epidemic Sound\nAddicted To Me from Epidemic Sound\nMagnified XY from Epidemic Sound\nThe Road Less Travelled from Epidemic Sound", "The Wild Story of the Teton Dam Failure", "7ebc9f48-805e-4aea-84fa-dd5e96944215", false, 22, [], 1162, false, "J7ieKmP96Hc", "https://www.youtube.com/watch?v=J7ieKmP96Hc", 8, "/downloads/Practical Engineering/Season 2026/s2026e042100 - The Wild Story of the Teton Dam Failure.mp4", false, false, 98, ~U[2026-04-21 13:00:28Z], ~U[2026-08-05 01:36:10Z], ~U[2026-08-05 01:36:10Z], "This year is the 50th anniversary of the Teton Dam Failure\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch Joe Scott - Oldest and Newest Places on Earth: https://nebula.tv/oldestnewest?ref=practical-engineering\n\nTeton was one of the most dramatic and catalyzing dam failures of the 20th century in the US.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-wild-story-of-the-teton-dam-failure\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nBuilding Blocks from Epidemic Sound\nAural Imprints from Epidemic Sound\nAddicted To Me from Epidemic Sound\nMagnified XY from Epidemic Sound\nThe Road Less Travelled from Epidemic Sound", "The Wild Story of the Teton Dam Failure", 22, 1162, false, "J7ieKmP96Hc", "https://www.youtube.com/watch?v=J7ieKmP96Hc", "/downloads/Practical Engineering/Season 2026/s2026e042100 - The Wild Story of the Teton Dam Failure.mp4", false, ~U[2026-04-21 13:00:28Z]] 03:36:10.444 [debug] QUERY OK source="sources" db=0.2ms idle=132.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:10.444 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:10.444 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4874996] 03:36:10.444 [debug] Current batch of media processed. Will check again in 1000ms 03:36:11.445 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An overview of fuse plug and fusible gate spillways\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nMost of the largest dams in the world have gated spillways with whole teams of staff dedicated to their operation. But it’s still a challenge, especially for small owners like cities. So there is another option, kind of in between controlled and uncontrolled spillways, and its use is growing worldwide.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-spillways-that-fail-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAddicted To Me from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "duration" => 1144, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e040700 - This Spillway Failed On Purpose.mp4", "id" => "UF63eFJmbrQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UF63eFJmbrQ", "playlist_index" => 9, "timestamp" => 1775566861, "title" => "This Spillway Failed On Purpose", "upload_date" => "20260407"} 03:36:11.446 [debug] QUERY OK source="sources" db=0.2ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:11.446 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:11.447 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:01:01Z], 22] 03:36:11.449 [debug] QUERY OK source="media_items" db=1.3ms idle=140.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of fuse plug and fusible gate spillways\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nMost of the largest dams in the world have gated spillways with whole teams of staff dedicated to their operation. But it’s still a challenge, especially for small owners like cities. So there is another option, kind of in between controlled and uncontrolled spillways, and its use is growing worldwide.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-spillways-that-fail-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAddicted To Me from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "This Spillway Failed On Purpose", "a7b61d40-bc74-4033-b900-0966d65c0ece", false, 22, [], 1144, false, "UF63eFJmbrQ", "https://www.youtube.com/watch?v=UF63eFJmbrQ", 9, "/downloads/Practical Engineering/Season 2026/s2026e040700 - This Spillway Failed On Purpose.mp4", false, false, 98, ~U[2026-04-07 13:01:01Z], ~U[2026-08-05 01:36:11Z], ~U[2026-08-05 01:36:11Z], "An overview of fuse plug and fusible gate spillways\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nMost of the largest dams in the world have gated spillways with whole teams of staff dedicated to their operation. But it’s still a challenge, especially for small owners like cities. So there is another option, kind of in between controlled and uncontrolled spillways, and its use is growing worldwide.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-spillways-that-fail-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAddicted To Me from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "This Spillway Failed On Purpose", 22, 1144, false, "UF63eFJmbrQ", "https://www.youtube.com/watch?v=UF63eFJmbrQ", "/downloads/Practical Engineering/Season 2026/s2026e040700 - This Spillway Failed On Purpose.mp4", false, ~U[2026-04-07 13:01:01Z]] 03:36:11.449 [debug] QUERY OK source="sources" db=0.1ms idle=135.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:11.450 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:11.450 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4825338] 03:36:11.450 [debug] Current batch of media processed. Will check again in 1000ms 03:36:12.451 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A little tour of the Los Angeles Aqueduct system\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚣Watch The Colorado Problem: https://nebula.tv/thecoloradoproblem?ref=practical-engineering\n\nThe story of the LA aqueduct in a nutshell: The project seemed obvious from an engineering perspective. But it many ways, it was not only unscrupulous, but also short-sighted.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-los-angeles-aqueduct-is-wild\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCave Thoughts composed by Donovan Bullen (Nebula Studios)\nMagnified XY from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "duration" => 1379, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e031700 - The Los Angeles Aqueduct is Wild.mp4", "id" => "PhW2BjFQCZM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PhW2BjFQCZM", "playlist_index" => 10, "timestamp" => 1773752444, "title" => "The Los Angeles Aqueduct is Wild", "upload_date" => "20260317"} 03:36:12.452 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:12.452 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:12.453 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.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-17 13:00:44Z], 22] 03:36:12.455 [debug] QUERY OK source="media_items" db=1.1ms idle=144.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A little tour of the Los Angeles Aqueduct system\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚣Watch The Colorado Problem: https://nebula.tv/thecoloradoproblem?ref=practical-engineering\n\nThe story of the LA aqueduct in a nutshell: The project seemed obvious from an engineering perspective. But it many ways, it was not only unscrupulous, but also short-sighted.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-los-angeles-aqueduct-is-wild\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCave Thoughts composed by Donovan Bullen (Nebula Studios)\nMagnified XY from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Los Angeles Aqueduct is Wild", "8ce21fc9-c7a3-49d8-82fc-be95c27d1d04", false, 22, [], 1379, false, "PhW2BjFQCZM", "https://www.youtube.com/watch?v=PhW2BjFQCZM", 10, "/downloads/Practical Engineering/Season 2026/s2026e031700 - The Los Angeles Aqueduct is Wild.mp4", false, false, 98, ~U[2026-03-17 13:00:44Z], ~U[2026-08-05 01:36:12Z], ~U[2026-08-05 01:36:12Z], "A little tour of the Los Angeles Aqueduct system\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚣Watch The Colorado Problem: https://nebula.tv/thecoloradoproblem?ref=practical-engineering\n\nThe story of the LA aqueduct in a nutshell: The project seemed obvious from an engineering perspective. But it many ways, it was not only unscrupulous, but also short-sighted.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-los-angeles-aqueduct-is-wild\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCave Thoughts composed by Donovan Bullen (Nebula Studios)\nMagnified XY from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Los Angeles Aqueduct is Wild", 22, 1379, false, "PhW2BjFQCZM", "https://www.youtube.com/watch?v=PhW2BjFQCZM", "/downloads/Practical Engineering/Season 2026/s2026e031700 - The Los Angeles Aqueduct is Wild.mp4", false, ~U[2026-03-17 13:00:44Z]] 03:36:12.455 [debug] QUERY OK source="sources" db=0.2ms idle=140.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:12.455 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:12.456 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4751638] 03:36:12.456 [debug] Current batch of media processed. Will check again in 1000ms 03:36:13.457 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An overview of seismic base isolation for buildings\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nEarthquakes are such a challenge in engineering: unpredictable both in time and intensity. But I love this solution of base isolation because it’s so intuitive. It’s something my five-year-old would come up with: just put a suspension system on a building.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-earthquakeproof-foundations\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nCactus Song from Epidemic Sound", "duration" => 1083, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e030300 - How Earthquake Bearings Work.mp4", "id" => "qt2j2gn0yWc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qt2j2gn0yWc", "playlist_index" => 11, "timestamp" => 1772546486, "title" => "How Earthquake Bearings Work", "upload_date" => "20260303"} 03:36:13.458 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:13.458 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:13.459 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.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-03 14:01:26Z], 22] 03:36:13.460 [debug] QUERY OK source="media_items" db=1.1ms idle=148.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of seismic base isolation for buildings\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nEarthquakes are such a challenge in engineering: unpredictable both in time and intensity. But I love this solution of base isolation because it’s so intuitive. It’s something my five-year-old would come up with: just put a suspension system on a building.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-earthquakeproof-foundations\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nCactus Song from Epidemic Sound", "How Earthquake Bearings Work", "deb6ad5a-6a3a-40a3-a2ed-5fc84b29472b", false, 22, [], 1083, false, "qt2j2gn0yWc", "https://www.youtube.com/watch?v=qt2j2gn0yWc", 11, "/downloads/Practical Engineering/Season 2026/s2026e030300 - How Earthquake Bearings Work.mp4", false, false, 98, ~U[2026-03-03 14:01:26Z], ~U[2026-08-05 01:36:13Z], ~U[2026-08-05 01:36:13Z], "An overview of seismic base isolation for buildings\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nEarthquakes are such a challenge in engineering: unpredictable both in time and intensity. But I love this solution of base isolation because it’s so intuitive. It’s something my five-year-old would come up with: just put a suspension system on a building.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-earthquakeproof-foundations\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nCactus Song from Epidemic Sound", "How Earthquake Bearings Work", 22, 1083, false, "qt2j2gn0yWc", "https://www.youtube.com/watch?v=qt2j2gn0yWc", "/downloads/Practical Engineering/Season 2026/s2026e030300 - How Earthquake Bearings Work.mp4", false, ~U[2026-03-03 14:01:26Z]] 03:36:13.460 [debug] QUERY OK source="sources" db=0.1ms idle=144.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:13.460 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:13.461 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703960] 03:36:13.461 [debug] Current batch of media processed. Will check again in 1000ms 03:36:14.462 [debug] Current batch of media processed. Will check again in 1000ms 03:36:15.464 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Some of us just yearn for the mines.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch A Bit Obscure: https://nebula.tv/abitfrank/a-bit-obscure?ref=practical-engineering\n\nMentions in the intro:\n@colinfurze \n@GhostTownLiving \n@saveitforparts \n@JerryRigEverything \n\nA little exploration into modern tunnel construction methods used in public infrastructure and how those lessons can be applied to endeavors of the more homemade variety.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-so-you-want-to-build-a-tunnel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________", "duration" => 1242, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e021700 - So You Want to Build a Tunnel....mp4", "id" => "Ssw5bdx1HKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ssw5bdx1HKw", "playlist_index" => 12, "timestamp" => 1771336850, "title" => "So You Want to Build a Tunnel...", "upload_date" => "20260217"} 03:36:15.465 [debug] QUERY OK source="sources" db=0.1ms idle=688.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:15.465 [debug] QUERY OK source="sources" db=0.1ms idle=689.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:15.466 [debug] QUERY OK source="media_items" db=0.6ms idle=689.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 14:00:50Z], 22] 03:36:15.469 [debug] QUERY OK source="media_items" db=2.1ms idle=154.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some of us just yearn for the mines.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch A Bit Obscure: https://nebula.tv/abitfrank/a-bit-obscure?ref=practical-engineering\n\nMentions in the intro:\n@colinfurze \n@GhostTownLiving \n@saveitforparts \n@JerryRigEverything \n\nA little exploration into modern tunnel construction methods used in public infrastructure and how those lessons can be applied to endeavors of the more homemade variety.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-so-you-want-to-build-a-tunnel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________", "So You Want to Build a Tunnel...", "5313cd45-878d-4159-9855-f6e3dc026347", false, 22, [], 1242, false, "Ssw5bdx1HKw", "https://www.youtube.com/watch?v=Ssw5bdx1HKw", 12, "/downloads/Practical Engineering/Season 2026/s2026e021700 - So You Want to Build a Tunnel....mp4", false, false, 98, ~U[2026-02-17 14:00:50Z], ~U[2026-08-05 01:36:15Z], ~U[2026-08-05 01:36:15Z], "Some of us just yearn for the mines.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch A Bit Obscure: https://nebula.tv/abitfrank/a-bit-obscure?ref=practical-engineering\n\nMentions in the intro:\n@colinfurze \n@GhostTownLiving \n@saveitforparts \n@JerryRigEverything \n\nA little exploration into modern tunnel construction methods used in public infrastructure and how those lessons can be applied to endeavors of the more homemade variety.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-so-you-want-to-build-a-tunnel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________", "So You Want to Build a Tunnel...", 22, 1242, false, "Ssw5bdx1HKw", "https://www.youtube.com/watch?v=Ssw5bdx1HKw", "/downloads/Practical Engineering/Season 2026/s2026e021700 - So You Want to Build a Tunnel....mp4", false, ~U[2026-02-17 14:00:50Z]] 03:36:15.469 [debug] QUERY OK source="sources" db=0.2ms idle=150.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:15.469 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:15.470 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4656027] 03:36:15.470 [debug] Current batch of media processed. Will check again in 1000ms 03:36:16.470 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An overview of the engineering behind stormwater ponds\n\nErrata: 5 acres is about 2 hectares. Sorry for the conversion error!\n\nPart park, part plumbing, mostly hiding in plain sight, they are often carefully tuned pieces of infrastructure that help keep the city’s head above water.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-stormwater-ponds\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1063, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e020300 - Do Retention Ponds Actually Work?.mp4", "id" => "xPksDeGoh4E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xPksDeGoh4E", "playlist_index" => 13, "timestamp" => 1770127296, "title" => "Do Retention Ponds Actually Work?", "upload_date" => "20260203"} 03:36:16.470 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:16.471 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:16.472 [debug] QUERY OK source="media_items" db=0.7ms idle=1001.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 14:01:36Z], 22] 03:36:16.482 [debug] QUERY OK source="media_items" db=10.4ms idle=158.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of the engineering behind stormwater ponds\n\nErrata: 5 acres is about 2 hectares. Sorry for the conversion error!\n\nPart park, part plumbing, mostly hiding in plain sight, they are often carefully tuned pieces of infrastructure that help keep the city’s head above water.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-stormwater-ponds\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Do Retention Ponds Actually Work?", "a0b44549-5f73-48b4-a02a-32347fc666c0", false, 22, [], 1063, false, "xPksDeGoh4E", "https://www.youtube.com/watch?v=xPksDeGoh4E", 13, "/downloads/Practical Engineering/Season 2026/s2026e020300 - Do Retention Ponds Actually Work?.mp4", false, false, 98, ~U[2026-02-03 14:01:36Z], ~U[2026-08-05 01:36:16Z], ~U[2026-08-05 01:36:16Z], "An overview of the engineering behind stormwater ponds\n\nErrata: 5 acres is about 2 hectares. Sorry for the conversion error!\n\nPart park, part plumbing, mostly hiding in plain sight, they are often carefully tuned pieces of infrastructure that help keep the city’s head above water.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-stormwater-ponds\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Do Retention Ponds Actually Work?", 22, 1063, false, "xPksDeGoh4E", "https://www.youtube.com/watch?v=xPksDeGoh4E", "/downloads/Practical Engineering/Season 2026/s2026e020300 - Do Retention Ponds Actually Work?.mp4", false, ~U[2026-02-03 14:01:36Z]] 03:36:16.483 [debug] QUERY OK source="sources" db=0.2ms idle=163.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:16.483 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:16.483 [debug] QUERY OK source="media_items" db=0.2ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4609267] 03:36:16.483 [debug] Current batch of media processed. Will check again in 1000ms 03:36:16.847 [info] {"source":"oban","duration":2496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:17.484 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A few of the things I love about runways\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch The Logistics of X: https://nebula.tv/thelogisticsofx?ref=practical-engineering\n\nErrata:\n3:47 Wind sock is in the wrong direction!\n9:05 The graphic and voiceover could have explained this more clearly. Tire width goes into estimating pass-to-coverage ratio in pavement design to estimate load repetitions. For rigid pavements, it's measured at the surface. For flexible pavements, it's measured at the top of the subgrade. For rigid pavement, the fatigue concern is maximum tensile stress at the bottom of the PCC slab. That bottom stress is governed mainly by slab bending mechanics and load position. A small lateral shift can change the critical bottom stress a lot, so the “near-maximum response” region doesn’t expand the same way it does with a flexible pavement.\n\nSome of the construction techniques and engineering requirements for runways that you don’t really notice when you’re a passenger looking through the window\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-runways\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nSome footage provided by Runway Safe\nSpecial thanks to Tom Tallerico\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1120, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e012000 - The Hidden Engineering of Runways.mp4", "id" => "ZJqY1WLX4zA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZJqY1WLX4zA", "playlist_index" => 14, "timestamp" => 1768917663, "title" => "The Hidden Engineering of Runways", "upload_date" => "20260120"} 03:36:17.484 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:17.485 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:17.485 [debug] QUERY OK source="media_items" db=0.6ms idle=637.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 14:01:03Z], 22] 03:36:17.496 [debug] QUERY OK source="media_items" db=10.3ms idle=170.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A few of the things I love about runways\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch The Logistics of X: https://nebula.tv/thelogisticsofx?ref=practical-engineering\n\nErrata:\n3:47 Wind sock is in the wrong direction!\n9:05 The graphic and voiceover could have explained this more clearly. Tire width goes into estimating pass-to-coverage ratio in pavement design to estimate load repetitions. For rigid pavements, it's measured at the surface. For flexible pavements, it's measured at the top of the subgrade. For rigid pavement, the fatigue concern is maximum tensile stress at the bottom of the PCC slab. That bottom stress is governed mainly by slab bending mechanics and load position. A small lateral shift can change the critical bottom stress a lot, so the “near-maximum response” region doesn’t expand the same way it does with a flexible pavement.\n\nSome of the construction techniques and engineering requirements for runways that you don’t really notice when you’re a passenger looking through the window\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-runways\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nSome footage provided by Runway Safe\nSpecial thanks to Tom Tallerico\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Runways", "6ef67fb1-fd94-4b68-8018-23357aeb9906", false, 22, [], 1120, false, "ZJqY1WLX4zA", "https://www.youtube.com/watch?v=ZJqY1WLX4zA", 14, "/downloads/Practical Engineering/Season 2026/s2026e012000 - The Hidden Engineering of Runways.mp4", false, false, 98, ~U[2026-01-20 14:01:03Z], ~U[2026-08-05 01:36:17Z], ~U[2026-08-05 01:36:17Z], "A few of the things I love about runways\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch The Logistics of X: https://nebula.tv/thelogisticsofx?ref=practical-engineering\n\nErrata:\n3:47 Wind sock is in the wrong direction!\n9:05 The graphic and voiceover could have explained this more clearly. Tire width goes into estimating pass-to-coverage ratio in pavement design to estimate load repetitions. For rigid pavements, it's measured at the surface. For flexible pavements, it's measured at the top of the subgrade. For rigid pavement, the fatigue concern is maximum tensile stress at the bottom of the PCC slab. That bottom stress is governed mainly by slab bending mechanics and load position. A small lateral shift can change the critical bottom stress a lot, so the “near-maximum response” region doesn’t expand the same way it does with a flexible pavement.\n\nSome of the construction techniques and engineering requirements for runways that you don’t really notice when you’re a passenger looking through the window\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-runways\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nSome footage provided by Runway Safe\nSpecial thanks to Tom Tallerico\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Runways", 22, 1120, false, "ZJqY1WLX4zA", "https://www.youtube.com/watch?v=ZJqY1WLX4zA", "/downloads/Practical Engineering/Season 2026/s2026e012000 - The Hidden Engineering of Runways.mp4", false, ~U[2026-01-20 14:01:03Z]] 03:36:17.497 [debug] QUERY OK source="sources" db=0.2ms idle=176.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:17.497 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:17.497 [debug] QUERY OK source="media_items" db=0.1ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4563233] 03:36:17.497 [debug] Current batch of media processed. Will check again in 1000ms 03:36:18.498 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Designing and building a pulser pump\n\nPrimal Space video: https://www.youtube.com/watch?v=xLaLpMeOyHk\n\nA pump with no moving parts, able to lift water above its source, quietly serving a hillside fortress centuries ago. It is clever, effective, and, all these years later, mostly unknown today.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-recreating-an-ancient-pump-with-no-moving-parts\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTickle from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 791, "filename" => "/downloads/Practical Engineering/Season 2026/s2026e010600 - Recreating an Ancient Pump (with no moving parts).mp4", "id" => "7OHCOFFUamQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7OHCOFFUamQ", "playlist_index" => 15, "timestamp" => 1767708024, "title" => "Recreating an Ancient Pump (with no moving parts)", "upload_date" => "20260106"} 03:36:18.499 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:18.499 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:18.500 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-06 14:00:24Z], 22] 03:36:18.511 [debug] QUERY OK source="media_items" db=10.5ms idle=184.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Designing and building a pulser pump\n\nPrimal Space video: https://www.youtube.com/watch?v=xLaLpMeOyHk\n\nA pump with no moving parts, able to lift water above its source, quietly serving a hillside fortress centuries ago. It is clever, effective, and, all these years later, mostly unknown today.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-recreating-an-ancient-pump-with-no-moving-parts\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTickle from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "Recreating an Ancient Pump (with no moving parts)", "4de93289-c8a9-421d-8a80-dad02f8fde96", false, 22, [], 791, false, "7OHCOFFUamQ", "https://www.youtube.com/watch?v=7OHCOFFUamQ", 15, "/downloads/Practical Engineering/Season 2026/s2026e010600 - Recreating an Ancient Pump (with no moving parts).mp4", false, false, 98, ~U[2026-01-06 14:00:24Z], ~U[2026-08-05 01:36:18Z], ~U[2026-08-05 01:36:18Z], "Designing and building a pulser pump\n\nPrimal Space video: https://www.youtube.com/watch?v=xLaLpMeOyHk\n\nA pump with no moving parts, able to lift water above its source, quietly serving a hillside fortress centuries ago. It is clever, effective, and, all these years later, mostly unknown today.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-recreating-an-ancient-pump-with-no-moving-parts\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTickle from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "Recreating an Ancient Pump (with no moving parts)", 22, 791, false, "7OHCOFFUamQ", "https://www.youtube.com/watch?v=7OHCOFFUamQ", "/downloads/Practical Engineering/Season 2026/s2026e010600 - Recreating an Ancient Pump (with no moving parts).mp4", false, ~U[2026-01-06 14:00:24Z]] 03:36:18.511 [debug] QUERY OK source="sources" db=0.1ms idle=188.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:18.512 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:18.512 [debug] QUERY OK source="media_items" db=0.2ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4517534] 03:36:18.512 [debug] Current batch of media processed. Will check again in 1000ms 03:36:19.513 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A primer on alkali-silica reactions in concrete and one of the more interesting ways we manage it.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch Beyond the Bleachers: https://nebula.tv/maapify/beyond-the-bleachers?ref=practical-engineering\n\nThanks to the @TennesseeValleyAuthority for their help and footage.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-sawing-a-dam-in-half-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nRhubarb from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1230, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e121600 - Sawing a Dam in Half (on Purpose).mp4", "id" => "lnYA0_AzhsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lnYA0_AzhsM", "playlist_index" => 16, "timestamp" => 1765893689, "title" => "Sawing a Dam in Half (on Purpose)", "upload_date" => "20251216"} 03:36:19.514 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:19.514 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:19.515 [debug] QUERY OK source="media_items" db=1.0ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 14:01:29Z], 22] 03:36:19.526 [debug] QUERY OK source="media_items" db=10.7ms idle=197.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A primer on alkali-silica reactions in concrete and one of the more interesting ways we manage it.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch Beyond the Bleachers: https://nebula.tv/maapify/beyond-the-bleachers?ref=practical-engineering\n\nThanks to the @TennesseeValleyAuthority for their help and footage.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-sawing-a-dam-in-half-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nRhubarb from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Sawing a Dam in Half (on Purpose)", "d90c16be-f4d0-4677-b48e-4a17c9b581fb", false, 22, [], 1230, false, "lnYA0_AzhsM", "https://www.youtube.com/watch?v=lnYA0_AzhsM", 16, "/downloads/Practical Engineering/Season 2025/s2025e121600 - Sawing a Dam in Half (on Purpose).mp4", false, false, 98, ~U[2025-12-16 14:01:29Z], ~U[2026-08-05 01:36:19Z], ~U[2026-08-05 01:36:19Z], "A primer on alkali-silica reactions in concrete and one of the more interesting ways we manage it.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch Beyond the Bleachers: https://nebula.tv/maapify/beyond-the-bleachers?ref=practical-engineering\n\nThanks to the @TennesseeValleyAuthority for their help and footage.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-sawing-a-dam-in-half-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nRhubarb from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Sawing a Dam in Half (on Purpose)", 22, 1230, false, "lnYA0_AzhsM", "https://www.youtube.com/watch?v=lnYA0_AzhsM", "/downloads/Practical Engineering/Season 2025/s2025e121600 - Sawing a Dam in Half (on Purpose).mp4", false, ~U[2025-12-16 14:01:29Z]] 03:36:19.527 [debug] QUERY OK source="sources" db=0.2ms idle=203.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:19.527 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:19.528 [debug] QUERY OK source="media_items" db=0.2ms idle=13.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4449095] 03:36:19.528 [debug] Current batch of media processed. Will check again in 1000ms 03:36:20.529 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A visit to the wave lab to learn about how hurricanes affect coastal structures.\n\nEngineering is a balancing act; we need structures that are both strong and safe, but also affordable, easy to occupy, and maybe even architecturally pleasing. Using knowledge gained from tests like this helps us get a clearer definition of the edges of the problem we’re solving.\n\nHuge thanks to Dr. Dan Cox and his team of researchers at Oregon State University for inviting us to film this test. Check them out here: https://engineering.oregonstate.edu/wave-lab\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-hurricane-vs-tiny-house\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nAural Imprints from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1324, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e120200 - Hurricane vs. Tiny Houses.mp4", "id" => "-2HSFJOzQQ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-2HSFJOzQQ8", "playlist_index" => 17, "timestamp" => 1764684000, "title" => "Hurricane vs. Tiny Houses", "upload_date" => "20251202"} 03:36:20.530 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:20.530 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:20.531 [debug] QUERY OK source="media_items" db=0.9ms idle=1002.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 14:00:00Z], 22] 03:36:20.542 [debug] QUERY OK source="media_items" db=10.7ms idle=212.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A visit to the wave lab to learn about how hurricanes affect coastal structures.\n\nEngineering is a balancing act; we need structures that are both strong and safe, but also affordable, easy to occupy, and maybe even architecturally pleasing. Using knowledge gained from tests like this helps us get a clearer definition of the edges of the problem we’re solving.\n\nHuge thanks to Dr. Dan Cox and his team of researchers at Oregon State University for inviting us to film this test. Check them out here: https://engineering.oregonstate.edu/wave-lab\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-hurricane-vs-tiny-house\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nAural Imprints from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Hurricane vs. Tiny Houses", "d17245dc-ce56-4073-ad51-6ff18b740232", false, 22, [], 1324, false, "-2HSFJOzQQ8", "https://www.youtube.com/watch?v=-2HSFJOzQQ8", 17, "/downloads/Practical Engineering/Season 2025/s2025e120200 - Hurricane vs. Tiny Houses.mp4", false, false, 98, ~U[2025-12-02 14:00:00Z], ~U[2026-08-05 01:36:20Z], ~U[2026-08-05 01:36:20Z], "A visit to the wave lab to learn about how hurricanes affect coastal structures.\n\nEngineering is a balancing act; we need structures that are both strong and safe, but also affordable, easy to occupy, and maybe even architecturally pleasing. Using knowledge gained from tests like this helps us get a clearer definition of the edges of the problem we’re solving.\n\nHuge thanks to Dr. Dan Cox and his team of researchers at Oregon State University for inviting us to film this test. Check them out here: https://engineering.oregonstate.edu/wave-lab\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-hurricane-vs-tiny-house\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nAural Imprints from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Hurricane vs. Tiny Houses", 22, 1324, false, "-2HSFJOzQQ8", "https://www.youtube.com/watch?v=-2HSFJOzQQ8", "/downloads/Practical Engineering/Season 2025/s2025e120200 - Hurricane vs. Tiny Houses.mp4", false, ~U[2025-12-02 14:00:00Z]] 03:36:20.542 [debug] QUERY OK source="sources" db=0.2ms idle=217.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:20.543 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:20.543 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4404220] 03:36:20.543 [debug] Current batch of media processed. Will check again in 1000ms 03:36:21.544 [debug] Current batch of media processed. Will check again in 1000ms 03:36:22.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Some of the hidden details behind this very cool piece of infrastructure.\n\n📢Check out Radiolab's new release about the survivors of Pompeii here: \u2068@Radiolabpod \n\nThe Falkirk Wheel didn’t just reconnect two canals. It reconnected people with the idea that infrastructure can be both useful and pretty cool.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-the-deal-with-the-falkirk-wheel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Hello Fresh.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 915, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e111500 - The Hidden Engineering Behind the Falkirk Wheel.mp4", "id" => "sq6ZOVbKQhY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sq6ZOVbKQhY", "playlist_index" => 18, "timestamp" => 1763242796, "title" => "The Hidden Engineering Behind the Falkirk Wheel", "upload_date" => "20251115"} 03:36:22.546 [debug] QUERY OK source="sources" db=0.1ms idle=769.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:22.546 [debug] QUERY OK source="sources" db=0.1ms idle=769.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:22.547 [debug] QUERY OK source="media_items" db=1.0ms idle=769.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 21:39:56Z], 22] 03:36:22.558 [debug] QUERY OK source="media_items" db=10.5ms idle=226.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some of the hidden details behind this very cool piece of infrastructure.\n\n📢Check out Radiolab's new release about the survivors of Pompeii here: \u2068@Radiolabpod \n\nThe Falkirk Wheel didn’t just reconnect two canals. It reconnected people with the idea that infrastructure can be both useful and pretty cool.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-the-deal-with-the-falkirk-wheel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Hello Fresh.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering Behind the Falkirk Wheel", "13961c01-e214-440f-9772-dfa473aaadd9", false, 22, [], 915, false, "sq6ZOVbKQhY", "https://www.youtube.com/watch?v=sq6ZOVbKQhY", 18, "/downloads/Practical Engineering/Season 2025/s2025e111500 - The Hidden Engineering Behind the Falkirk Wheel.mp4", false, false, 98, ~U[2025-11-15 21:39:56Z], ~U[2026-08-05 01:36:22Z], ~U[2026-08-05 01:36:22Z], "Some of the hidden details behind this very cool piece of infrastructure.\n\n📢Check out Radiolab's new release about the survivors of Pompeii here: \u2068@Radiolabpod \n\nThe Falkirk Wheel didn’t just reconnect two canals. It reconnected people with the idea that infrastructure can be both useful and pretty cool.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-the-deal-with-the-falkirk-wheel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Hello Fresh.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering Behind the Falkirk Wheel", 22, 915, false, "sq6ZOVbKQhY", "https://www.youtube.com/watch?v=sq6ZOVbKQhY", "/downloads/Practical Engineering/Season 2025/s2025e111500 - The Hidden Engineering Behind the Falkirk Wheel.mp4", false, ~U[2025-11-15 21:39:56Z]] 03:36:22.558 [debug] QUERY OK source="sources" db=0.2ms idle=231.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:22.559 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:22.559 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4352956] 03:36:22.559 [debug] Current batch of media processed. Will check again in 1000ms 03:36:23.560 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The challenge of cure time\n🌌Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch 17 Pages: https://nebula.tv/videos/17pages?ref=practical-engineering\n\nConcrete is a material that embodies both a sprint and a marathon.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-concretes-greatest-weakness\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 1024, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e110400 - Concrete's Greatest Weakness is Time.mp4", "id" => "f2uad6LT9fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f2uad6LT9fo", "playlist_index" => 19, "timestamp" => 1762264873, "title" => "Concrete's Greatest Weakness is Time", "upload_date" => "20251104"} 03:36:23.560 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:23.561 [debug] QUERY OK source="sources" db=0.0ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:23.561 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-04 14:01:13Z], 22] 03:36:23.564 [debug] QUERY OK source="media_items" db=2.5ms idle=239.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The challenge of cure time\n🌌Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch 17 Pages: https://nebula.tv/videos/17pages?ref=practical-engineering\n\nConcrete is a material that embodies both a sprint and a marathon.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-concretes-greatest-weakness\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Concrete's Greatest Weakness is Time", "c0e3f571-62d3-4aca-9d81-d46d8d48bdaf", false, 22, [], 1024, false, "f2uad6LT9fo", "https://www.youtube.com/watch?v=f2uad6LT9fo", 19, "/downloads/Practical Engineering/Season 2025/s2025e110400 - Concrete's Greatest Weakness is Time.mp4", false, false, 98, ~U[2025-11-04 14:01:13Z], ~U[2026-08-05 01:36:23Z], ~U[2026-08-05 01:36:23Z], "The challenge of cure time\n🌌Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch 17 Pages: https://nebula.tv/videos/17pages?ref=practical-engineering\n\nConcrete is a material that embodies both a sprint and a marathon.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-concretes-greatest-weakness\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Concrete's Greatest Weakness is Time", 22, 1024, false, "f2uad6LT9fo", "https://www.youtube.com/watch?v=f2uad6LT9fo", "/downloads/Practical Engineering/Season 2025/s2025e110400 - Concrete's Greatest Weakness is Time.mp4", false, ~U[2025-11-04 14:01:13Z]] 03:36:23.565 [debug] QUERY OK source="sources" db=0.1ms idle=237.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:23.565 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:23.565 [debug] QUERY OK source="media_items" db=0.1ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4314621] 03:36:23.565 [debug] Current batch of media processed. Will check again in 1000ms 03:36:24.568 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "All the things I love about Niagara Falls\n\nThe same thing that makes Niagara Falls impressive for tourists (the big drop) makes it valuable for power and a major challenge for shipping. And out of that comes all kinds of fascinating infrastructure.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-niagara-falls\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nord VPN.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCactus Song from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "duration" => 942, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e102100 - The Hidden Engineering of Niagara Falls.mp4", "id" => "7mdvEtmo1pM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7mdvEtmo1pM", "playlist_index" => 20, "timestamp" => 1761051614, "title" => "The Hidden Engineering of Niagara Falls", "upload_date" => "20251021"} 03:36:24.568 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:24.569 [debug] QUERY OK source="sources" db=0.0ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:24.571 [debug] QUERY OK source="media_items" db=2.1ms idle=1003.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 13:00:14Z], 22] 03:36:24.587 [debug] QUERY OK source="media_items" db=15.7ms idle=246.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["All the things I love about Niagara Falls\n\nThe same thing that makes Niagara Falls impressive for tourists (the big drop) makes it valuable for power and a major challenge for shipping. And out of that comes all kinds of fascinating infrastructure.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-niagara-falls\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nord VPN.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCactus Song from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Niagara Falls", "6ad76b73-b259-4ec1-9007-ce2bf3ae9a66", false, 22, [], 942, false, "7mdvEtmo1pM", "https://www.youtube.com/watch?v=7mdvEtmo1pM", 20, "/downloads/Practical Engineering/Season 2025/s2025e102100 - The Hidden Engineering of Niagara Falls.mp4", false, false, 98, ~U[2025-10-21 13:00:14Z], ~U[2026-08-05 01:36:24Z], ~U[2026-08-05 01:36:24Z], "All the things I love about Niagara Falls\n\nThe same thing that makes Niagara Falls impressive for tourists (the big drop) makes it valuable for power and a major challenge for shipping. And out of that comes all kinds of fascinating infrastructure.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-niagara-falls\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nord VPN.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCactus Song from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Niagara Falls", 22, 942, false, "7mdvEtmo1pM", "https://www.youtube.com/watch?v=7mdvEtmo1pM", "/downloads/Practical Engineering/Season 2025/s2025e102100 - The Hidden Engineering of Niagara Falls.mp4", false, ~U[2025-10-21 13:00:14Z]] 03:36:24.588 [debug] QUERY OK source="sources" db=0.2ms idle=255.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:24.588 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:24.588 [debug] QUERY OK source="media_items" db=0.1ms idle=19.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4258457] 03:36:24.589 [debug] Current batch of media processed. Will check again in 1000ms 03:36:25.589 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Want to restore the planet’s ecosystems and see your impact in monthly videos? The first 100 people to join Planet Wild with my code PRACTICAL10 will get the first month for free at: https://planetwild.com/r/practicalengineering/join\nIf you want to get to know them better first, check out their project protecting the Little Owl https://planetwild.com/r/practicalengineering/m4\n\nAn ode to the engineering of guyed masts: Cool to look at, incredibly tall, just rare enough that seeing one is kind of special.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-bizarre-bases-of-antenna-towers\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Planet Wild.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "duration" => 1088, "filename" => "/downloads/Practical Engineering/Season 2025/s2025e100700 - The Bizarre Bases of Antenna Towers.mp4", "id" => "3nDdLiXS5wk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3nDdLiXS5wk", "playlist_index" => 21, "timestamp" => 1759842006, "title" => "The Bizarre Bases of Antenna Towers", "upload_date" => "20251007"} 03:36:25.590 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:25.590 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 03:36:25.591 [debug] QUERY OK source="media_items" db=0.8ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-07 13:00:06Z], 22] 03:36:25.595 [debug] QUERY OK source="media_items" db=3.4ms idle=265.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Want to restore the planet’s ecosystems and see your impact in monthly videos? The first 100 people to join Planet Wild with my code PRACTICAL10 will get the first month for free at: https://planetwild.com/r/practicalengineering/join\nIf you want to get to know them better first, check out their project protecting the Little Owl https://planetwild.com/r/practicalengineering/m4\n\nAn ode to the engineering of guyed masts: Cool to look at, incredibly tall, just rare enough that seeing one is kind of special.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-bizarre-bases-of-antenna-towers\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Planet Wild.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "The Bizarre Bases of Antenna Towers", "fb3021c4-513c-41d7-bc4b-52f1bf15caac", false, 22, [], 1088, false, "3nDdLiXS5wk", "https://www.youtube.com/watch?v=3nDdLiXS5wk", 21, "/downloads/Practical Engineering/Season 2025/s2025e100700 - The Bizarre Bases of Antenna Towers.mp4", false, false, 98, ~U[2025-10-07 13:00:06Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Want to restore the planet’s ecosystems and see your impact in monthly videos? The first 100 people to join Planet Wild with my code PRACTICAL10 will get the first month for free at: https://planetwild.com/r/practicalengineering/join\nIf you want to get to know them better first, check out their project protecting the Little Owl https://planetwild.com/r/practicalengineering/m4\n\nAn ode to the engineering of guyed masts: Cool to look at, incredibly tall, just rare enough that seeing one is kind of special.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-bizarre-bases-of-antenna-towers\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Planet Wild.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "The Bizarre Bases of Antenna Towers", 22, 1088, false, "3nDdLiXS5wk", "https://www.youtube.com/watch?v=3nDdLiXS5wk", "/downloads/Practical Engineering/Season 2025/s2025e100700 - The Bizarre Bases of Antenna Towers.mp4", false, ~U[2025-10-07 13:00:06Z]] 03:36:25.595 [debug] QUERY OK source="sources" db=0.3ms idle=262.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.596 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:25.596 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4217214] 03:36:25.596 [debug] Current batch of media processed. Will check again in 1000ms 03:36:25.633 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@PracticalEngineeringChannel --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Practical Engineering/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/8c/71/8c71938ce74e796a5b14ddcd60ca3bf13dbad5c19be95b896a14662cabdc9d21.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e9/44/e944c21f63c8b25ad8b847290af6ae469e94d3eb3a75d58a637694644b7e845f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:36:25.634 [debug] Gracefully stopping file follower 03:36:25.635 [debug] QUERY OK source="sources" db=0.4ms idle=43.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [22] 03:36:25.635 [debug] QUERY OK source="sources" db=0.1ms idle=40.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.636 [debug] QUERY OK source="media_items" db=0.5ms idle=39.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 13:00:39Z], 22] 03:36:25.637 [debug] QUERY OK source="media_items" db=0.8ms idle=40.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I love geocells\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nSometimes it’s not all about more massive concrete slabs or the brute strength of steel, but just a little bit of clever geometry and some dirt.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-grid-that-doubles-the-strength-of-the-ground\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWoodland Expedition composed by Caleb Winters\nWater and Light composed by Caleb Winters", "The Grid That Doubles the Strength of the Ground", "8d548cb1-e7d3-4bc9-bac1-903b08c0b02a", false, 22, [], 1108, false, "stQfGfUSLQg", "https://www.youtube.com/watch?v=stQfGfUSLQg", 1, "/downloads/Practical Engineering/Season 2026/s2026e080400 - The Grid That Doubles the Strength of the Ground.mp4", false, false, 98, ~U[2026-08-04 13:00:39Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "I love geocells\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nSometimes it’s not all about more massive concrete slabs or the brute strength of steel, but just a little bit of clever geometry and some dirt.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-grid-that-doubles-the-strength-of-the-ground\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWoodland Expedition composed by Caleb Winters\nWater and Light composed by Caleb Winters", "The Grid That Doubles the Strength of the Ground", 22, 1108, false, "stQfGfUSLQg", "https://www.youtube.com/watch?v=stQfGfUSLQg", "/downloads/Practical Engineering/Season 2026/s2026e080400 - The Grid That Doubles the Strength of the Ground.mp4", false, ~U[2026-08-04 13:00:39Z]] 03:36:25.637 [debug] QUERY OK source="sources" db=0.2ms idle=40.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.638 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 13:02:12Z], 22] 03:36:25.639 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A tour of the subsurface in NYC\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nErrata: At 8:00, winding are showing a step-up transformer and should be swapped.\n\nThe underground of New York is almost a city within a city. We kind of get used to having all these utilities and services that it’s easy to forget the physical space they all take up and the work that goes into installing and maintaining them.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-under-your-feet-in-new-york-city\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nHimalayan Spell from Epidemic Sound\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "What's Under Your Feet in New York City?", "b588d691-543f-4aef-81ec-85afa81f4e9c", false, 22, [], 1351, false, "Iclf_JnPkKw", "https://www.youtube.com/watch?v=Iclf_JnPkKw", 2, "/downloads/Practical Engineering/Season 2026/s2026e072100 - What's Under Your Feet in New York City?.mp4", false, false, 98, ~U[2026-07-21 13:02:12Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "A tour of the subsurface in NYC\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nErrata: At 8:00, winding are showing a step-up transformer and should be swapped.\n\nThe underground of New York is almost a city within a city. We kind of get used to having all these utilities and services that it’s easy to forget the physical space they all take up and the work that goes into installing and maintaining them.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-under-your-feet-in-new-york-city\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nHimalayan Spell from Epidemic Sound\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "What's Under Your Feet in New York City?", 22, 1351, false, "Iclf_JnPkKw", "https://www.youtube.com/watch?v=Iclf_JnPkKw", "/downloads/Practical Engineering/Season 2026/s2026e072100 - What's Under Your Feet in New York City?.mp4", false, ~U[2026-07-21 13:02:12Z]] 03:36:25.640 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.640 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 13:00:05Z], 22] 03:36:25.642 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Based on a chapter from Disasters By Design: How Engineering Failures Shaped the Modern World by Grady Hillhouse, coming March 2, 2027, and available for preorder now.\nUS: https://www.penguinrandomhouse.com/books/786143/disasters-by-design-by-grady-hillhouse/\nUK: https://www.penguin.co.uk/books/476190/disasters-by-design-by-hillhouse-grady/9780241798508\nMore About the Book: https://practical.engineering/books\n\nWhat happened in New Orleans in August 2005 wasn’t a natural disaster. A number of engineering errors made the hurricane far more deadly than it would have been otherwise. And I built a model to show you why.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-the-levees-failed-in-new-orleans\n\nSigned copies of my first book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nMagnified XY from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Mind-Blowing Flaw That Flooded New Orleans", "36d2b29d-ad5c-4e30-81d7-d870f15420ec", false, 22, [], 1474, false, "Ku_ockR2t44", "https://www.youtube.com/watch?v=Ku_ockR2t44", 3, "/downloads/Practical Engineering/Season 2026/s2026e070700 - The Mind-Blowing Flaw That Flooded New Orleans.mp4", false, false, 98, ~U[2026-07-07 13:00:05Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Based on a chapter from Disasters By Design: How Engineering Failures Shaped the Modern World by Grady Hillhouse, coming March 2, 2027, and available for preorder now.\nUS: https://www.penguinrandomhouse.com/books/786143/disasters-by-design-by-grady-hillhouse/\nUK: https://www.penguin.co.uk/books/476190/disasters-by-design-by-hillhouse-grady/9780241798508\nMore About the Book: https://practical.engineering/books\n\nWhat happened in New Orleans in August 2005 wasn’t a natural disaster. A number of engineering errors made the hurricane far more deadly than it would have been otherwise. And I built a model to show you why.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-the-levees-failed-in-new-orleans\n\nSigned copies of my first book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nMagnified XY from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Mind-Blowing Flaw That Flooded New Orleans", 22, 1474, false, "Ku_ockR2t44", "https://www.youtube.com/watch?v=Ku_ockR2t44", "/downloads/Practical Engineering/Season 2026/s2026e070700 - The Mind-Blowing Flaw That Flooded New Orleans.mp4", false, ~U[2026-07-07 13:00:05Z]] 03:36:25.642 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.643 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 11:37:54Z], 22] 03:36:25.644 [debug] QUERY OK source="media_items" db=0.8ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The complex engineering involved in demolishing the I-74 Mississippi River Bridge.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nNo shade at all to the new bridges, but honestly I think taking the old ones down was the coolest part of the entire replacement project.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-how-to-demolish-a-bridge\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThanks to IOWA DOT, Helm Civil, and Genesis Structures for sharing information about the project.\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Bridge Demolition is Complicated", "e5ee5ef6-eb85-4139-a3ce-0e390f39c10f", false, 22, [], 1076, false, "7oi4yMr8Rjk", "https://www.youtube.com/watch?v=7oi4yMr8Rjk", 4, "/downloads/Practical Engineering/Season 2026/s2026e061600 - Bridge Demolition is Complicated.mp4", false, false, 98, ~U[2026-06-16 11:37:54Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "The complex engineering involved in demolishing the I-74 Mississippi River Bridge.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nNo shade at all to the new bridges, but honestly I think taking the old ones down was the coolest part of the entire replacement project.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-how-to-demolish-a-bridge\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThanks to IOWA DOT, Helm Civil, and Genesis Structures for sharing information about the project.\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Bridge Demolition is Complicated", 22, 1076, false, "7oi4yMr8Rjk", "https://www.youtube.com/watch?v=7oi4yMr8Rjk", "/downloads/Practical Engineering/Season 2026/s2026e061600 - Bridge Demolition is Complicated.mp4", false, ~U[2026-06-16 11:37:54Z]] 03:36:25.644 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.644 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:00:23Z], 22] 03:36:25.646 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The bizarre science of washboards on unpaved roads\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe more we understand the physics of washboarding, the better we can engineer roads that stay safe, smooth, and reliable.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-roads-get-washboards\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Why Roads Get Washboards", "6a9c582e-dc11-4964-b39d-ce852306be70", false, 22, [], 1074, false, "3YvwqMDDb3k", "https://www.youtube.com/watch?v=3YvwqMDDb3k", 5, "/downloads/Practical Engineering/Season 2026/s2026e060200 - Why Roads Get Washboards.mp4", false, false, 98, ~U[2026-06-02 13:00:23Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "The bizarre science of washboards on unpaved roads\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe more we understand the physics of washboarding, the better we can engineer roads that stay safe, smooth, and reliable.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-why-roads-get-washboards\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nKeyless Entry from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Why Roads Get Washboards", 22, 1074, false, "3YvwqMDDb3k", "https://www.youtube.com/watch?v=3YvwqMDDb3k", "/downloads/Practical Engineering/Season 2026/s2026e060200 - Why Roads Get Washboards.mp4", false, ~U[2026-06-02 13:00:23Z]] 03:36:25.646 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.646 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 13:00:31Z], 22] 03:36:25.648 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The wild story of Mosul Dam in northern Iraq\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nFor the past 40 years or so, the problem at Mosul Dam has been ongoing, scrutinized by some of the most preeminent engineers across the world and complicated by politics, bureaucracy, and armed conflict.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-fixing-the-most-dangerous-dam-in-the-world\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nPattern View from Epidemic Sound\nMagnified XY from Epidemic Sound\nAural Imprints from Epidemic Sound\nCactus Song from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "Fixing the Most Dangerous Dam in the World", "bbac7c95-5716-435e-abbb-3e623c6a846a", false, 22, [], 1343, false, "DWLcmq_DiaA", "https://www.youtube.com/watch?v=DWLcmq_DiaA", 6, "/downloads/Practical Engineering/Season 2026/s2026e051900 - Fixing the Most Dangerous Dam in the World.mp4", false, false, 98, ~U[2026-05-19 13:00:31Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "The wild story of Mosul Dam in northern Iraq\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch The Anatomy of: https://nebula.tv/realengineering/the-anatomy-of?ref=practical-engineering\n\nFor the past 40 years or so, the problem at Mosul Dam has been ongoing, scrutinized by some of the most preeminent engineers across the world and complicated by politics, bureaucracy, and armed conflict.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-fixing-the-most-dangerous-dam-in-the-world\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nPattern View from Epidemic Sound\nMagnified XY from Epidemic Sound\nAural Imprints from Epidemic Sound\nCactus Song from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "Fixing the Most Dangerous Dam in the World", 22, 1343, false, "DWLcmq_DiaA", "https://www.youtube.com/watch?v=DWLcmq_DiaA", "/downloads/Practical Engineering/Season 2026/s2026e051900 - Fixing the Most Dangerous Dam in the World.mp4", false, ~U[2026-05-19 13:00:31Z]] 03:36:25.648 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.649 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 13:01:16Z], 22] 03:36:25.650 [debug] QUERY OK source="media_items" db=0.9ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["_Closed Conduit Hydraulics_ is a place where intuitions don’t always serve you well\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe garden hose is a backyard version of the same problem engineers and operators deal with every day: how much flow can you get through a real system, and what does it cost you in pressure?\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-physics-behind-the-thumb-trick\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTapped Out from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters\nWoodland Expedition composed by Caleb Winters", "The Physics Behind the Thumb Trick", "d84648e2-e2bd-4de8-afad-25dff94622de", false, 22, [], 1062, false, "fKuIJ_z2Y6A", "https://www.youtube.com/watch?v=fKuIJ_z2Y6A", 7, "/downloads/Practical Engineering/Season 2026/s2026e050500 - The Physics Behind the Thumb Trick.mp4", false, false, 98, ~U[2026-05-05 13:01:16Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "_Closed Conduit Hydraulics_ is a place where intuitions don’t always serve you well\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nThe garden hose is a backyard version of the same problem engineers and operators deal with every day: how much flow can you get through a real system, and what does it cost you in pressure?\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-physics-behind-the-thumb-trick\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTapped Out from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters\nWoodland Expedition composed by Caleb Winters", "The Physics Behind the Thumb Trick", 22, 1062, false, "fKuIJ_z2Y6A", "https://www.youtube.com/watch?v=fKuIJ_z2Y6A", "/downloads/Practical Engineering/Season 2026/s2026e050500 - The Physics Behind the Thumb Trick.mp4", false, ~U[2026-05-05 13:01:16Z]] 03:36:25.650 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.651 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 13:00:28Z], 22] 03:36:25.652 [debug] QUERY OK source="media_items" db=0.9ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This year is the 50th anniversary of the Teton Dam Failure\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch Joe Scott - Oldest and Newest Places on Earth: https://nebula.tv/oldestnewest?ref=practical-engineering\n\nTeton was one of the most dramatic and catalyzing dam failures of the 20th century in the US.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-wild-story-of-the-teton-dam-failure\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nBuilding Blocks from Epidemic Sound\nAural Imprints from Epidemic Sound\nAddicted To Me from Epidemic Sound\nMagnified XY from Epidemic Sound\nThe Road Less Travelled from Epidemic Sound", "The Wild Story of the Teton Dam Failure", "044ba770-0616-4420-8c47-1bc79f3589c2", false, 22, [], 1162, false, "J7ieKmP96Hc", "https://www.youtube.com/watch?v=J7ieKmP96Hc", 8, "/downloads/Practical Engineering/Season 2026/s2026e042100 - The Wild Story of the Teton Dam Failure.mp4", false, false, 98, ~U[2026-04-21 13:00:28Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "This year is the 50th anniversary of the Teton Dam Failure\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/practical-engineering\n🚣Watch Joe Scott - Oldest and Newest Places on Earth: https://nebula.tv/oldestnewest?ref=practical-engineering\n\nTeton was one of the most dramatic and catalyzing dam failures of the 20th century in the US.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-wild-story-of-the-teton-dam-failure\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nBuilding Blocks from Epidemic Sound\nAural Imprints from Epidemic Sound\nAddicted To Me from Epidemic Sound\nMagnified XY from Epidemic Sound\nThe Road Less Travelled from Epidemic Sound", "The Wild Story of the Teton Dam Failure", 22, 1162, false, "J7ieKmP96Hc", "https://www.youtube.com/watch?v=J7ieKmP96Hc", "/downloads/Practical Engineering/Season 2026/s2026e042100 - The Wild Story of the Teton Dam Failure.mp4", false, ~U[2026-04-21 13:00:28Z]] 03:36:25.652 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.653 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:01:01Z], 22] 03:36:25.654 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of fuse plug and fusible gate spillways\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nMost of the largest dams in the world have gated spillways with whole teams of staff dedicated to their operation. But it’s still a challenge, especially for small owners like cities. So there is another option, kind of in between controlled and uncontrolled spillways, and its use is growing worldwide.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-spillways-that-fail-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAddicted To Me from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "This Spillway Failed On Purpose", "e206c959-33c3-4c5a-8c53-0c5f7adc98e6", false, 22, [], 1144, false, "UF63eFJmbrQ", "https://www.youtube.com/watch?v=UF63eFJmbrQ", 9, "/downloads/Practical Engineering/Season 2026/s2026e040700 - This Spillway Failed On Purpose.mp4", false, false, 98, ~U[2026-04-07 13:01:01Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "An overview of fuse plug and fusible gate spillways\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nMost of the largest dams in the world have gated spillways with whole teams of staff dedicated to their operation. But it’s still a challenge, especially for small owners like cities. So there is another option, kind of in between controlled and uncontrolled spillways, and its use is growing worldwide.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-spillways-that-fail-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAddicted To Me from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "This Spillway Failed On Purpose", 22, 1144, false, "UF63eFJmbrQ", "https://www.youtube.com/watch?v=UF63eFJmbrQ", "/downloads/Practical Engineering/Season 2026/s2026e040700 - This Spillway Failed On Purpose.mp4", false, ~U[2026-04-07 13:01:01Z]] 03:36:25.654 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.655 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 13:00:44Z], 22] 03:36:25.656 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A little tour of the Los Angeles Aqueduct system\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚣Watch The Colorado Problem: https://nebula.tv/thecoloradoproblem?ref=practical-engineering\n\nThe story of the LA aqueduct in a nutshell: The project seemed obvious from an engineering perspective. But it many ways, it was not only unscrupulous, but also short-sighted.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-los-angeles-aqueduct-is-wild\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCave Thoughts composed by Donovan Bullen (Nebula Studios)\nMagnified XY from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Los Angeles Aqueduct is Wild", "e7aa0f11-1311-488c-965e-d21a88f301b4", false, 22, [], 1379, false, "PhW2BjFQCZM", "https://www.youtube.com/watch?v=PhW2BjFQCZM", 10, "/downloads/Practical Engineering/Season 2026/s2026e031700 - The Los Angeles Aqueduct is Wild.mp4", false, false, 98, ~U[2026-03-17 13:00:44Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "A little tour of the Los Angeles Aqueduct system\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚣Watch The Colorado Problem: https://nebula.tv/thecoloradoproblem?ref=practical-engineering\n\nThe story of the LA aqueduct in a nutshell: The project seemed obvious from an engineering perspective. But it many ways, it was not only unscrupulous, but also short-sighted.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-los-angeles-aqueduct-is-wild\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCave Thoughts composed by Donovan Bullen (Nebula Studios)\nMagnified XY from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nAll Parts Equal from Epidemic Sound", "The Los Angeles Aqueduct is Wild", 22, 1379, false, "PhW2BjFQCZM", "https://www.youtube.com/watch?v=PhW2BjFQCZM", "/downloads/Practical Engineering/Season 2026/s2026e031700 - The Los Angeles Aqueduct is Wild.mp4", false, ~U[2026-03-17 13:00:44Z]] 03:36:25.656 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.657 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 14:01:26Z], 22] 03:36:25.658 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of seismic base isolation for buildings\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nEarthquakes are such a challenge in engineering: unpredictable both in time and intensity. But I love this solution of base isolation because it’s so intuitive. It’s something my five-year-old would come up with: just put a suspension system on a building.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-earthquakeproof-foundations\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nCactus Song from Epidemic Sound", "How Earthquake Bearings Work", "61897079-e079-47c9-bd16-e4ff4d2fe815", false, 22, [], 1083, false, "qt2j2gn0yWc", "https://www.youtube.com/watch?v=qt2j2gn0yWc", 11, "/downloads/Practical Engineering/Season 2026/s2026e030300 - How Earthquake Bearings Work.mp4", false, false, 98, ~U[2026-03-03 14:01:26Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "An overview of seismic base isolation for buildings\n⚙️ Check out SendCutSend for custom parts fabricated from your CAD: http://sendcutsend.com/practicalengineering\n\nEarthquakes are such a challenge in engineering: unpredictable both in time and intensity. But I love this solution of base isolation because it’s so intuitive. It’s something my five-year-old would come up with: just put a suspension system on a building.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-earthquakeproof-foundations\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nAural Imprints from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nCactus Song from Epidemic Sound", "How Earthquake Bearings Work", 22, 1083, false, "qt2j2gn0yWc", "https://www.youtube.com/watch?v=qt2j2gn0yWc", "/downloads/Practical Engineering/Season 2026/s2026e030300 - How Earthquake Bearings Work.mp4", false, ~U[2026-03-03 14:01:26Z]] 03:36:25.658 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.659 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 14:00:50Z], 22] 03:36:25.662 [debug] QUERY OK source="media_items" db=2.4ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some of us just yearn for the mines.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch A Bit Obscure: https://nebula.tv/abitfrank/a-bit-obscure?ref=practical-engineering\n\nMentions in the intro:\n@colinfurze \n@GhostTownLiving \n@saveitforparts \n@JerryRigEverything \n\nA little exploration into modern tunnel construction methods used in public infrastructure and how those lessons can be applied to endeavors of the more homemade variety.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-so-you-want-to-build-a-tunnel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________", "So You Want to Build a Tunnel...", "fd2a2504-53f3-49de-8653-c4f5f82f4fd9", false, 22, [], 1242, false, "Ssw5bdx1HKw", "https://www.youtube.com/watch?v=Ssw5bdx1HKw", 12, "/downloads/Practical Engineering/Season 2026/s2026e021700 - So You Want to Build a Tunnel....mp4", false, false, 98, ~U[2026-02-17 14:00:50Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Some of us just yearn for the mines.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch A Bit Obscure: https://nebula.tv/abitfrank/a-bit-obscure?ref=practical-engineering\n\nMentions in the intro:\n@colinfurze \n@GhostTownLiving \n@saveitforparts \n@JerryRigEverything \n\nA little exploration into modern tunnel construction methods used in public infrastructure and how those lessons can be applied to endeavors of the more homemade variety.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-so-you-want-to-build-a-tunnel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________", "So You Want to Build a Tunnel...", 22, 1242, false, "Ssw5bdx1HKw", "https://www.youtube.com/watch?v=Ssw5bdx1HKw", "/downloads/Practical Engineering/Season 2026/s2026e021700 - So You Want to Build a Tunnel....mp4", false, ~U[2026-02-17 14:00:50Z]] 03:36:25.662 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.663 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 14:01:36Z], 22] 03:36:25.664 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An overview of the engineering behind stormwater ponds\n\nErrata: 5 acres is about 2 hectares. Sorry for the conversion error!\n\nPart park, part plumbing, mostly hiding in plain sight, they are often carefully tuned pieces of infrastructure that help keep the city’s head above water.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-stormwater-ponds\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Do Retention Ponds Actually Work?", "89619f78-03c2-4c8b-a5d5-ef68410e7685", false, 22, [], 1063, false, "xPksDeGoh4E", "https://www.youtube.com/watch?v=xPksDeGoh4E", 13, "/downloads/Practical Engineering/Season 2026/s2026e020300 - Do Retention Ponds Actually Work?.mp4", false, false, 98, ~U[2026-02-03 14:01:36Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "An overview of the engineering behind stormwater ponds\n\nErrata: 5 acres is about 2 hectares. Sorry for the conversion error!\n\nPart park, part plumbing, mostly hiding in plain sight, they are often carefully tuned pieces of infrastructure that help keep the city’s head above water.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-stormwater-ponds\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Do Retention Ponds Actually Work?", 22, 1063, false, "xPksDeGoh4E", "https://www.youtube.com/watch?v=xPksDeGoh4E", "/downloads/Practical Engineering/Season 2026/s2026e020300 - Do Retention Ponds Actually Work?.mp4", false, ~U[2026-02-03 14:01:36Z]] 03:36:25.664 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.665 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 14:01:03Z], 22] 03:36:25.666 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A few of the things I love about runways\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch The Logistics of X: https://nebula.tv/thelogisticsofx?ref=practical-engineering\n\nErrata:\n3:47 Wind sock is in the wrong direction!\n9:05 The graphic and voiceover could have explained this more clearly. Tire width goes into estimating pass-to-coverage ratio in pavement design to estimate load repetitions. For rigid pavements, it's measured at the surface. For flexible pavements, it's measured at the top of the subgrade. For rigid pavement, the fatigue concern is maximum tensile stress at the bottom of the PCC slab. That bottom stress is governed mainly by slab bending mechanics and load position. A small lateral shift can change the critical bottom stress a lot, so the “near-maximum response” region doesn’t expand the same way it does with a flexible pavement.\n\nSome of the construction techniques and engineering requirements for runways that you don’t really notice when you’re a passenger looking through the window\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-runways\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nSome footage provided by Runway Safe\nSpecial thanks to Tom Tallerico\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Runways", "98fe4064-68f4-4e5e-ad1f-36d9814c0f9c", false, 22, [], 1120, false, "ZJqY1WLX4zA", "https://www.youtube.com/watch?v=ZJqY1WLX4zA", 14, "/downloads/Practical Engineering/Season 2026/s2026e012000 - The Hidden Engineering of Runways.mp4", false, false, 98, ~U[2026-01-20 14:01:03Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "A few of the things I love about runways\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🚆Watch The Logistics of X: https://nebula.tv/thelogisticsofx?ref=practical-engineering\n\nErrata:\n3:47 Wind sock is in the wrong direction!\n9:05 The graphic and voiceover could have explained this more clearly. Tire width goes into estimating pass-to-coverage ratio in pavement design to estimate load repetitions. For rigid pavements, it's measured at the surface. For flexible pavements, it's measured at the top of the subgrade. For rigid pavement, the fatigue concern is maximum tensile stress at the bottom of the PCC slab. That bottom stress is governed mainly by slab bending mechanics and load position. A small lateral shift can change the critical bottom stress a lot, so the “near-maximum response” region doesn’t expand the same way it does with a flexible pavement.\n\nSome of the construction techniques and engineering requirements for runways that you don’t really notice when you’re a passenger looking through the window\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-runways\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nSome footage provided by Runway Safe\nSpecial thanks to Tom Tallerico\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nBuilding Blocks from Epidemic Sound\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Runways", 22, 1120, false, "ZJqY1WLX4zA", "https://www.youtube.com/watch?v=ZJqY1WLX4zA", "/downloads/Practical Engineering/Season 2026/s2026e012000 - The Hidden Engineering of Runways.mp4", false, ~U[2026-01-20 14:01:03Z]] 03:36:25.667 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.667 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-06 14:00:24Z], 22] 03:36:25.669 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Designing and building a pulser pump\n\nPrimal Space video: https://www.youtube.com/watch?v=xLaLpMeOyHk\n\nA pump with no moving parts, able to lift water above its source, quietly serving a hillside fortress centuries ago. It is clever, effective, and, all these years later, mostly unknown today.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-recreating-an-ancient-pump-with-no-moving-parts\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTickle from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "Recreating an Ancient Pump (with no moving parts)", "4e175d1d-18bf-4e45-8e9e-ad2bfe909ca6", false, 22, [], 791, false, "7OHCOFFUamQ", "https://www.youtube.com/watch?v=7OHCOFFUamQ", 15, "/downloads/Practical Engineering/Season 2026/s2026e010600 - Recreating an Ancient Pump (with no moving parts).mp4", false, false, 98, ~U[2026-01-06 14:00:24Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Designing and building a pulser pump\n\nPrimal Space video: https://www.youtube.com/watch?v=xLaLpMeOyHk\n\nA pump with no moving parts, able to lift water above its source, quietly serving a hillside fortress centuries ago. It is clever, effective, and, all these years later, mostly unknown today.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-recreating-an-ancient-pump-with-no-moving-parts\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nTickle from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)", "Recreating an Ancient Pump (with no moving parts)", 22, 791, false, "7OHCOFFUamQ", "https://www.youtube.com/watch?v=7OHCOFFUamQ", "/downloads/Practical Engineering/Season 2026/s2026e010600 - Recreating an Ancient Pump (with no moving parts).mp4", false, ~U[2026-01-06 14:00:24Z]] 03:36:25.669 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.670 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 14:01:29Z], 22] 03:36:25.671 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A primer on alkali-silica reactions in concrete and one of the more interesting ways we manage it.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch Beyond the Bleachers: https://nebula.tv/maapify/beyond-the-bleachers?ref=practical-engineering\n\nThanks to the @TennesseeValleyAuthority for their help and footage.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-sawing-a-dam-in-half-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nRhubarb from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Sawing a Dam in Half (on Purpose)", "dd13aadf-3259-4b4c-8dec-7d0f3656ee3f", false, 22, [], 1230, false, "lnYA0_AzhsM", "https://www.youtube.com/watch?v=lnYA0_AzhsM", 16, "/downloads/Practical Engineering/Season 2025/s2025e121600 - Sawing a Dam in Half (on Purpose).mp4", false, false, 98, ~U[2025-12-16 14:01:29Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "A primer on alkali-silica reactions in concrete and one of the more interesting ways we manage it.\n🌌Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch Beyond the Bleachers: https://nebula.tv/maapify/beyond-the-bleachers?ref=practical-engineering\n\nThanks to the @TennesseeValleyAuthority for their help and footage.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-sawing-a-dam-in-half-on-purpose\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nRhubarb from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Sawing a Dam in Half (on Purpose)", 22, 1230, false, "lnYA0_AzhsM", "https://www.youtube.com/watch?v=lnYA0_AzhsM", "/downloads/Practical Engineering/Season 2025/s2025e121600 - Sawing a Dam in Half (on Purpose).mp4", false, ~U[2025-12-16 14:01:29Z]] 03:36:25.672 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.672 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 14:00:00Z], 22] 03:36:25.674 [debug] QUERY OK source="media_items" db=1.2ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A visit to the wave lab to learn about how hurricanes affect coastal structures.\n\nEngineering is a balancing act; we need structures that are both strong and safe, but also affordable, easy to occupy, and maybe even architecturally pleasing. Using knowledge gained from tests like this helps us get a clearer definition of the edges of the problem we’re solving.\n\nHuge thanks to Dr. Dan Cox and his team of researchers at Oregon State University for inviting us to film this test. Check them out here: https://engineering.oregonstate.edu/wave-lab\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-hurricane-vs-tiny-house\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nAural Imprints from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Hurricane vs. Tiny Houses", "5bdbc0c5-a904-42a5-ab18-bd1a4c41f4e4", false, 22, [], 1324, false, "-2HSFJOzQQ8", "https://www.youtube.com/watch?v=-2HSFJOzQQ8", 17, "/downloads/Practical Engineering/Season 2025/s2025e120200 - Hurricane vs. Tiny Houses.mp4", false, false, 98, ~U[2025-12-02 14:00:00Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "A visit to the wave lab to learn about how hurricanes affect coastal structures.\n\nEngineering is a balancing act; we need structures that are both strong and safe, but also affordable, easy to occupy, and maybe even architecturally pleasing. Using knowledge gained from tests like this helps us get a clearer definition of the edges of the problem we’re solving.\n\nHuge thanks to Dr. Dan Cox and his team of researchers at Oregon State University for inviting us to film this test. Check them out here: https://engineering.oregonstate.edu/wave-lab\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-hurricane-vs-tiny-house\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by SendCutSend.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nMidnight in Paris composed by Caleb Winters (https://beacons.ai/calebwinters)\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nAural Imprints from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Hurricane vs. Tiny Houses", 22, 1324, false, "-2HSFJOzQQ8", "https://www.youtube.com/watch?v=-2HSFJOzQQ8", "/downloads/Practical Engineering/Season 2025/s2025e120200 - Hurricane vs. Tiny Houses.mp4", false, ~U[2025-12-02 14:00:00Z]] 03:36:25.674 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.675 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-15 21:39:56Z], 22] 03:36:25.677 [debug] QUERY OK source="media_items" db=1.1ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some of the hidden details behind this very cool piece of infrastructure.\n\n📢Check out Radiolab's new release about the survivors of Pompeii here: \u2068@Radiolabpod \n\nThe Falkirk Wheel didn’t just reconnect two canals. It reconnected people with the idea that infrastructure can be both useful and pretty cool.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-the-deal-with-the-falkirk-wheel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Hello Fresh.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering Behind the Falkirk Wheel", "65a9f03a-cb18-4cfd-8211-3520b4f025bc", false, 22, [], 915, false, "sq6ZOVbKQhY", "https://www.youtube.com/watch?v=sq6ZOVbKQhY", 18, "/downloads/Practical Engineering/Season 2025/s2025e111500 - The Hidden Engineering Behind the Falkirk Wheel.mp4", false, false, 98, ~U[2025-11-15 21:39:56Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Some of the hidden details behind this very cool piece of infrastructure.\n\n📢Check out Radiolab's new release about the survivors of Pompeii here: \u2068@Radiolabpod \n\nThe Falkirk Wheel didn’t just reconnect two canals. It reconnected people with the idea that infrastructure can be both useful and pretty cool.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-whats-the-deal-with-the-falkirk-wheel\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Hello Fresh.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nThe Early Bird from Epidemic Sound\nTapped Out from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering Behind the Falkirk Wheel", 22, 915, false, "sq6ZOVbKQhY", "https://www.youtube.com/watch?v=sq6ZOVbKQhY", "/downloads/Practical Engineering/Season 2025/s2025e111500 - The Hidden Engineering Behind the Falkirk Wheel.mp4", false, ~U[2025-11-15 21:39:56Z]] 03:36:25.677 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.678 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-04 14:01:13Z], 22] 03:36:25.679 [debug] QUERY OK source="media_items" db=1.1ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The challenge of cure time\n🌌Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch 17 Pages: https://nebula.tv/videos/17pages?ref=practical-engineering\n\nConcrete is a material that embodies both a sprint and a marathon.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-concretes-greatest-weakness\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Concrete's Greatest Weakness is Time", "3d8461db-c123-4060-918a-0229308b5f56", false, 22, [], 1024, false, "f2uad6LT9fo", "https://www.youtube.com/watch?v=f2uad6LT9fo", 19, "/downloads/Practical Engineering/Season 2025/s2025e110400 - Concrete's Greatest Weakness is Time.mp4", false, false, 98, ~U[2025-11-04 14:01:13Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "The challenge of cure time\n🌌Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/Practical-Engineering\n🏙️Watch 17 Pages: https://nebula.tv/videos/17pages?ref=practical-engineering\n\nConcrete is a material that embodies both a sprint and a marathon.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-concretes-greatest-weakness\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nebula.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nMagnified XY from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nKeyless Entry from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "Concrete's Greatest Weakness is Time", 22, 1024, false, "f2uad6LT9fo", "https://www.youtube.com/watch?v=f2uad6LT9fo", "/downloads/Practical Engineering/Season 2025/s2025e110400 - Concrete's Greatest Weakness is Time.mp4", false, ~U[2025-11-04 14:01:13Z]] 03:36:25.680 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.680 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 13:00:14Z], 22] 03:36:25.681 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["All the things I love about Niagara Falls\n\nThe same thing that makes Niagara Falls impressive for tourists (the big drop) makes it valuable for power and a major challenge for shipping. And out of that comes all kinds of fascinating infrastructure.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-niagara-falls\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nord VPN.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCactus Song from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Niagara Falls", "fd8da3c9-7302-4462-8182-a6760d58c42e", false, 22, [], 942, false, "7mdvEtmo1pM", "https://www.youtube.com/watch?v=7mdvEtmo1pM", 20, "/downloads/Practical Engineering/Season 2025/s2025e102100 - The Hidden Engineering of Niagara Falls.mp4", false, false, 98, ~U[2025-10-21 13:00:14Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "All the things I love about Niagara Falls\n\nThe same thing that makes Niagara Falls impressive for tourists (the big drop) makes it valuable for power and a major challenge for shipping. And out of that comes all kinds of fascinating infrastructure.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-hidden-engineering-of-niagara-falls\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Nord VPN.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nRecycled Mood from Epidemic Sound\nCactus Song from Epidemic Sound\nWater and Light composed by Caleb Winters (https://beacons.ai/calebwinters)", "The Hidden Engineering of Niagara Falls", 22, 942, false, "7mdvEtmo1pM", "https://www.youtube.com/watch?v=7mdvEtmo1pM", "/downloads/Practical Engineering/Season 2025/s2025e102100 - The Hidden Engineering of Niagara Falls.mp4", false, ~U[2025-10-21 13:00:14Z]] 03:36:25.682 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.682 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-07 13:00:06Z], 22] 03:36:25.699 [debug] QUERY OK source="media_items" db=16.2ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Want to restore the planet’s ecosystems and see your impact in monthly videos? The first 100 people to join Planet Wild with my code PRACTICAL10 will get the first month for free at: https://planetwild.com/r/practicalengineering/join\nIf you want to get to know them better first, check out their project protecting the Little Owl https://planetwild.com/r/practicalengineering/m4\n\nAn ode to the engineering of guyed masts: Cool to look at, incredibly tall, just rare enough that seeing one is kind of special.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-bizarre-bases-of-antenna-towers\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Planet Wild.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "The Bizarre Bases of Antenna Towers", "7a1064cf-3091-41ed-9d94-86167f6d9cdd", false, 22, [], 1088, false, "3nDdLiXS5wk", "https://www.youtube.com/watch?v=3nDdLiXS5wk", 21, "/downloads/Practical Engineering/Season 2025/s2025e100700 - The Bizarre Bases of Antenna Towers.mp4", false, false, 98, ~U[2025-10-07 13:00:06Z], ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], "Want to restore the planet’s ecosystems and see your impact in monthly videos? The first 100 people to join Planet Wild with my code PRACTICAL10 will get the first month for free at: https://planetwild.com/r/practicalengineering/join\nIf you want to get to know them better first, check out their project protecting the Little Owl https://planetwild.com/r/practicalengineering/m4\n\nAn ode to the engineering of guyed masts: Cool to look at, incredibly tall, just rare enough that seeing one is kind of special.\n\nWatch this video ad-free on Nebula: https://nebula.tv/videos/practical-engineering-the-bizarre-bases-of-antenna-towers\n\nSigned copies of my book (plus other cool stuff) are available here: https://store.practical.engineering/\n\nPractical Engineering is a YouTube channel about infrastructure and the human-made world around us. It is hosted, written, and produced by Grady Hillhouse. We have new videos posted regularly, so please subscribe for updates. If you enjoyed the video, hit that ‘like’ button, give us a comment, or watch another of our videos!\n\nCONNECT WITH ME\n____________________________________\nWebsite: http://practical.engineering\nTwitter: https://twitter.com/HillhouseGrady\nInstagram: https://www.instagram.com/practicalengineering\nReddit: https://www.reddit.com/r/PracticalEngineering\nFacebook: https://www.facebook.com/PracticalEngineerGrady\u200B\nPatreon: http://patreon.com/PracticalEngineering\n\nSPONSORSHIP INQUIRIES\n____________________________________\nPlease email my agent at practicalengineering@standard.tv\n\nDISCLAIMER\n____________________________________\nThis is not engineering advice. Everything here is for informational and entertainment purposes only. Contact an engineer licensed to practice in your area if you need professional advice or services. All non-licensed clips used for fair use commentary, criticism, and educational purposes.\n\nSPECIAL THANKS\n____________________________________\nThis video is sponsored by Planet Wild.\nStock video and imagery provided by Getty Images, Shutterstock, Pond5, and Videoblocks.\nVideo by Grady Hillhouse\nEdited by Wesley Crump\nProduced by Ralph Crewe\nGraphics by Nebula Studios\n\nMUSIC CREDITS\n____________________________________\nCactus Song from Epidemic Sound\nPractical Engineering Theme composed by Caleb Winters (https://beacons.ai/calebwinters)\nRhubarb from Epidemic Sound\nWoodland Expedition composed by Caleb Winters (https://beacons.ai/calebwinters)\nBuilding Blocks from Epidemic Sound", "The Bizarre Bases of Antenna Towers", 22, 1088, false, "3nDdLiXS5wk", "https://www.youtube.com/watch?v=3nDdLiXS5wk", "/downloads/Practical Engineering/Season 2025/s2025e100700 - The Bizarre Bases of Antenna Towers.mp4", false, ~U[2025-10-07 13:00:06Z]] 03:36:25.705 [debug] QUERY OK source="sources" db=6.3ms idle=18.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z], 22] 03:36:25.706 [debug] QUERY OK source="media_items" db=0.8ms idle=24.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [22] 03:36:25.708 [debug] QUERY OK source="tasks" db=0.1ms idle=9.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133824, 5252964, ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z]] 03:36:25.709 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [22] 03:36:25.710 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [22] 03:36:25.710 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Practical Engineering. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no 03:36:25.714 [info] {"args":{"id":5252964},"id":133824,"meta":{},"system_time":1785893785714921802,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:25.715 [debug] QUERY OK source="media_items" db=0.1ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5252964] 03:36:25.715 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:36:25.715 [debug] QUERY OK source="sources" db=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 03:36:25.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:25.716 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5252964] 03:36:25.716 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5252964] 03:36:25.716 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:25.716 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:25.716 [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 [] 03:36:25.717 [debug] Running yt-dlp command for action: get_downloadable_status 03:36:25.717 [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 [] 03:36:25.717 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:25.717 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:25.717 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=stQfGfUSLQg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/3b/033bca4440128d0bacab585a21d80151e7e390415a6347944c0adcfc941fa67d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:25.990 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Practical Engineering. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no exited: 0 with: 03:36:25.990 [info] Sent new media notification for source 22 03:36:25.992 [debug] QUERY OK source="tasks" db=0.1ms idle=274.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133825, 22, ~U[2026-08-05 01:36:25Z], ~U[2026-08-05 01:36:25Z]] 03:36:25.992 [info] {"args":{"id":22},"id":133320,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":29693497,"event":"job:stop","queue_time":93328,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:36:27.715 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=stQfGfUSLQg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/3b/033bca4440128d0bacab585a21d80151e7e390415a6347944c0adcfc941fa67d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:36:27.715 [error] yt-dlp download error for media item #5252964: "WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:36:27.715 [error] yt-dlp download will not be retried: "WARNING: [youtube] stQfGfUSLQg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] stQfGfUSLQg: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:36:27.715 [info] {"args":{"id":5252964},"id":133824,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2000550,"event":"job:stop","queue_time":714359,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:46.850 [info] {"source":"oban","duration":2388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.391 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:16.853 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:40.408 [info] {"args":{"id":4336580},"id":133376,"meta":{},"system_time":1785893860408000528,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:40.417 [debug] QUERY OK source="media_items" db=9.4ms idle=1631.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4336580] 03:37:40.417 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:37:40.418 [debug] QUERY OK source="sources" db=0.3ms idle=1017.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 03:37:40.418 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1011.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:37:40.419 [debug] QUERY OK source="media_items" db=0.2ms idle=16.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4336580] 03:37:40.419 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4336580] 03:37:40.419 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:37:40.420 [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 [] 03:37:40.420 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:40.420 [debug] Running yt-dlp command for action: get_downloadable_status 03:37:40.420 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:40.420 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:40.420 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:40.420 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/87/2787280ac4041433b1729cef14f354cc4129b99d034adcdc298234c75da0a426.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:37:42.605 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/87/2787280ac4041433b1729cef14f354cc4129b99d034adcdc298234c75da0a426.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more 03:37:42.605 [error] yt-dlp download error for media item #4336580: "WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more\n" 03:37:42.606 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4336580},"id":133376,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2198014,"event":"job:exception","queue_time":158944,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:43.410 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785893863410854151,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:43.411 [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" = ?) [3646417] 03:37:43.411 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:37:43.411 [debug] QUERY OK source="sources" db=0.1ms idle=804.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 03:37:43.411 [debug] QUERY OK source="media_profiles" db=0.1ms idle=798.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:37:43.412 [debug] QUERY OK source="media_items" db=0.1ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 03:37:43.421 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 03:37:43.422 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:37:43.422 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:43.422 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:43.422 [debug] Running yt-dlp command for action: get_downloadable_status 03:37:43.422 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:43.423 [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 [] 03:37:43.423 [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 [] 03:37:43.423 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/fc/0cfc90b5b72cb6038446fc91d3ced1a6fee0d3644804f049a0036e92dad8be6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:37:44.971 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/fc/0cfc90b5b72cb6038446fc91d3ced1a6fee0d3644804f049a0036e92dad8be6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:37:44.971 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:37:44.972 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1560755,"event":"job:exception","queue_time":661771,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:46.855 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.392 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:16.857 [info] {"source":"oban","duration":2567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:46.860 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:55.496 [info] {"args":{"id":57},"id":133321,"meta":{},"system_time":1785893935496403094,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:38:55.496 [debug] QUERY OK source="sources" db=0.2ms idle=720.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:38:55.497 [debug] QUERY OK source="settings" db=0.1ms idle=720.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.519 [debug] QUERY OK source="media_items" db=22.0ms idle=7.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [57] 03:38:55.520 [debug] QUERY OK source="media_items" db=1.4ms idle=23.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [57] 03:38:55.521 [debug] QUERY OK source="media_profiles" db=0.0ms idle=24.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:38:55.521 [debug] QUERY OK source="settings" db=0.0ms idle=24.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.521 [debug] QUERY OK source="settings" db=0.0ms idle=24.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.523 [debug] QUERY OK source="media_items" db=1.3ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [57] 03:38:55.523 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:38:55.524 [debug] Current batch of media processed. Will check again in 1000ms 03:38:55.524 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.524 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.524 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:38:55.524 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@heartofthekeys --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Heart of the Keys/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4a/fe/4afe31c7474ff0707628dab2f69f33e88759441b8b9aa9c35768d260790b276f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/18/9d/189d15d82fed5f0cadce30b181185f444cf00d958dfd9a7f37a8c5622c14c29f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:38:56.524 [debug] Current batch of media processed. Will check again in 1000ms 03:38:57.525 [debug] Current batch of media processed. Will check again in 1000ms 03:38:58.526 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 720, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e080200 - Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11.mp4", "id" => "PdVn8X3yVyI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PdVn8X3yVyI", "playlist_index" => 1, "timestamp" => 1785686430, "title" => "Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11", "upload_date" => "20260802"} 03:38:58.526 [debug] QUERY OK source="sources" db=0.1ms idle=1750.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:38:58.527 [debug] QUERY OK source="sources" db=0.0ms idle=1035.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:38:58.527 [debug] QUERY OK source="media_items" db=0.2ms idle=1029.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 16:00:30Z], 57] 03:38:58.528 [debug] QUERY OK source="media_items" db=0.7ms idle=34.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11", "b4bf6de3-2f10-4fcd-8fab-071ba2233be2", false, 57, [], 720, false, "PdVn8X3yVyI", "https://www.youtube.com/watch?v=PdVn8X3yVyI", 1, "/downloads/Heart of the Keys/Season 2026/s2026e080200 - Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11.mp4", false, false, 98, ~U[2026-08-02 16:00:30Z], ~U[2026-08-05 01:38:58Z], ~U[2026-08-05 01:38:58Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11", 57, 720, false, "PdVn8X3yVyI", "https://www.youtube.com/watch?v=PdVn8X3yVyI", "/downloads/Heart of the Keys/Season 2026/s2026e080200 - Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11.mp4", false, ~U[2026-08-02 16:00:30Z]] 03:38:58.528 [debug] QUERY OK source="sources" db=0.1ms idle=29.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:38:58.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:38:58.529 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5245306] 03:38:58.529 [debug] Current batch of media processed. Will check again in 1000ms 03:38:59.529 [debug] Current batch of media processed. Will check again in 1000ms 03:39:00.393 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:00.530 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 391, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e080100 - If You Can’t Play These Études, Don’t Touch Ballade No. 1.mp4", "id" => "QXP9KLUB_rU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QXP9KLUB_rU", "playlist_index" => 2, "timestamp" => 1785600003, "title" => "If You Can’t Play These Études, Don’t Touch Ballade No. 1", "upload_date" => "20260801"} 03:39:00.530 [debug] QUERY OK source="sources" db=0.1ms idle=754.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:00.531 [debug] QUERY OK source="sources" db=0.1ms idle=754.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:00.532 [debug] QUERY OK source="media_items" db=0.8ms idle=137.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 16:00:03Z], 57] 03:39:00.533 [debug] QUERY OK source="media_items" db=0.9ms idle=37.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If You Can’t Play These Études, Don’t Touch Ballade No. 1", "d5ae8417-c55c-4584-8d73-d0946f3f73f2", false, 57, [], 391, false, "QXP9KLUB_rU", "https://www.youtube.com/watch?v=QXP9KLUB_rU", 2, "/downloads/Heart of the Keys/Season 2026/s2026e080100 - If You Can’t Play These Études, Don’t Touch Ballade No. 1.mp4", false, false, 98, ~U[2026-08-01 16:00:03Z], ~U[2026-08-05 01:39:00Z], ~U[2026-08-05 01:39:00Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If You Can’t Play These Études, Don’t Touch Ballade No. 1", 57, 391, false, "QXP9KLUB_rU", "https://www.youtube.com/watch?v=QXP9KLUB_rU", "/downloads/Heart of the Keys/Season 2026/s2026e080100 - If You Can’t Play These Études, Don’t Touch Ballade No. 1.mp4", false, ~U[2026-08-01 16:00:03Z]] 03:39:00.533 [debug] QUERY OK source="sources" db=0.1ms idle=32.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:00.533 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:00.534 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5241449] 03:39:00.534 [debug] Current batch of media processed. Will check again in 1000ms 03:39:01.534 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 412, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e073100 - SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1.mp4", "id" => "QKgfdgxZkG0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QKgfdgxZkG0", "playlist_index" => 3, "timestamp" => 1785516317, "title" => "SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1", "upload_date" => "20260731"} 03:39:01.535 [debug] QUERY OK source="sources" db=0.1ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:01.535 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:01.536 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 16:45:17Z], 57] 03:39:01.546 [debug] QUERY OK source="media_items" db=9.9ms idle=40.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1", "9f8115ee-83cb-41bd-9a4c-8b6e6376d47d", false, 57, [], 412, false, "QKgfdgxZkG0", "https://www.youtube.com/watch?v=QKgfdgxZkG0", 3, "/downloads/Heart of the Keys/Season 2026/s2026e073100 - SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1.mp4", false, false, 98, ~U[2026-07-31 16:45:17Z], ~U[2026-08-05 01:39:01Z], ~U[2026-08-05 01:39:01Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1", 57, 412, false, "QKgfdgxZkG0", "https://www.youtube.com/watch?v=QKgfdgxZkG0", "/downloads/Heart of the Keys/Season 2026/s2026e073100 - SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1.mp4", false, ~U[2026-07-31 16:45:17Z]] 03:39:01.546 [debug] QUERY OK source="sources" db=0.1ms idle=44.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:01.546 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:01.547 [debug] QUERY OK source="media_items" db=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237596] 03:39:01.547 [debug] Current batch of media processed. Will check again in 1000ms 03:39:02.548 [debug] Current batch of media processed. Will check again in 1000ms 03:39:03.549 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 451, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e073000 - Amateurs Always Ignore These 3 Rules - Fix your Flat Sound.mp4", "id" => "HJTbrjXmNTw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HJTbrjXmNTw", "playlist_index" => 4, "timestamp" => 1785427221, "title" => "Amateurs Always Ignore These 3 Rules - Fix your Flat Sound", "upload_date" => "20260730"} 03:39:03.549 [debug] QUERY OK source="sources" db=0.2ms idle=773.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:03.550 [debug] QUERY OK source="sources" db=0.1ms idle=773.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:03.550 [debug] QUERY OK source="media_items" db=0.6ms idle=773.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 16:00:21Z], 57] 03:39:03.552 [debug] QUERY OK source="media_items" db=1.0ms idle=53.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Amateurs Always Ignore These 3 Rules - Fix your Flat Sound", "f75fbcb3-c362-42ef-b8e6-d1edcf340dbf", false, 57, [], 451, false, "HJTbrjXmNTw", "https://www.youtube.com/watch?v=HJTbrjXmNTw", 4, "/downloads/Heart of the Keys/Season 2026/s2026e073000 - Amateurs Always Ignore These 3 Rules - Fix your Flat Sound.mp4", false, false, 98, ~U[2026-07-30 16:00:21Z], ~U[2026-08-05 01:39:03Z], ~U[2026-08-05 01:39:03Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Amateurs Always Ignore These 3 Rules - Fix your Flat Sound", 57, 451, false, "HJTbrjXmNTw", "https://www.youtube.com/watch?v=HJTbrjXmNTw", "/downloads/Heart of the Keys/Season 2026/s2026e073000 - Amateurs Always Ignore These 3 Rules - Fix your Flat Sound.mp4", false, ~U[2026-07-30 16:00:21Z]] 03:39:03.552 [debug] QUERY OK source="sources" db=0.1ms idle=48.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:03.552 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:03.553 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5233726] 03:39:03.553 [debug] Current batch of media processed. Will check again in 1000ms 03:39:04.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 314, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072900 - THIS will change Everything - How To Breathe when Playing Piano.mp4", "id" => "TvolcQinpDA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TvolcQinpDA", "playlist_index" => 5, "timestamp" => 1785340824, "title" => "THIS will change Everything - How To Breathe when Playing Piano", "upload_date" => "20260729"} 03:39:04.553 [debug] QUERY OK source="sources" db=0.1ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:04.554 [debug] QUERY OK source="sources" db=0.0ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:04.554 [debug] QUERY OK source="media_items" db=0.4ms idle=1000.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 16:00:24Z], 57] 03:39:04.555 [debug] QUERY OK source="media_items" db=0.6ms idle=55.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "THIS will change Everything - How To Breathe when Playing Piano", "ef3e9a23-dd86-4076-9407-d84c1b9884ad", false, 57, [], 314, false, "TvolcQinpDA", "https://www.youtube.com/watch?v=TvolcQinpDA", 5, "/downloads/Heart of the Keys/Season 2026/s2026e072900 - THIS will change Everything - How To Breathe when Playing Piano.mp4", false, false, 98, ~U[2026-07-29 16:00:24Z], ~U[2026-08-05 01:39:04Z], ~U[2026-08-05 01:39:04Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "THIS will change Everything - How To Breathe when Playing Piano", 57, 314, false, "TvolcQinpDA", "https://www.youtube.com/watch?v=TvolcQinpDA", "/downloads/Heart of the Keys/Season 2026/s2026e072900 - THIS will change Everything - How To Breathe when Playing Piano.mp4", false, ~U[2026-07-29 16:00:24Z]] 03:39:04.555 [debug] QUERY OK source="sources" db=0.1ms idle=50.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:04.555 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:04.556 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5229883] 03:39:04.556 [debug] Current batch of media processed. Will check again in 1000ms 03:39:05.557 [debug] Current batch of media processed. Will check again in 1000ms 03:39:06.558 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 1550, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072800 - Chopin's Ballade No.4 Explained | Analysis & Interpretation.mp4", "id" => "XkQHX29ietU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XkQHX29ietU", "playlist_index" => 6, "timestamp" => 1785254411, "title" => "Chopin's Ballade No.4 Explained | Analysis & Interpretation", "upload_date" => "20260728"} 03:39:06.558 [debug] QUERY OK source="sources" db=0.1ms idle=782.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:06.559 [debug] QUERY OK source="sources" db=0.0ms idle=782.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:06.559 [debug] QUERY OK source="media_items" db=0.4ms idle=782.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 16:00:11Z], 57] 03:39:06.570 [debug] QUERY OK source="media_items" db=9.8ms idle=59.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin's Ballade No.4 Explained | Analysis & Interpretation", "e10e16a9-6cb1-4422-bcbb-70bbf77e7c94", false, 57, [], 1550, false, "XkQHX29ietU", "https://www.youtube.com/watch?v=XkQHX29ietU", 6, "/downloads/Heart of the Keys/Season 2026/s2026e072800 - Chopin's Ballade No.4 Explained | Analysis & Interpretation.mp4", false, false, 98, ~U[2026-07-28 16:00:11Z], ~U[2026-08-05 01:39:06Z], ~U[2026-08-05 01:39:06Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin's Ballade No.4 Explained | Analysis & Interpretation", 57, 1550, false, "XkQHX29ietU", "https://www.youtube.com/watch?v=XkQHX29ietU", "/downloads/Heart of the Keys/Season 2026/s2026e072800 - Chopin's Ballade No.4 Explained | Analysis & Interpretation.mp4", false, ~U[2026-07-28 16:00:11Z]] 03:39:06.570 [debug] QUERY OK source="sources" db=0.1ms idle=63.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:06.570 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:06.571 [debug] QUERY OK source="media_items" db=0.1ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226023] 03:39:06.571 [debug] Current batch of media processed. Will check again in 1000ms 03:39:07.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 434, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072700 - 3 Things to Stop Being a Failure.mp4", "id" => "Noj4MWQ9Kls", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Noj4MWQ9Kls", "playlist_index" => 7, "timestamp" => 1785168022, "title" => "3 Things to Stop Being a Failure", "upload_date" => "20260727"} 03:39:07.572 [debug] QUERY OK source="sources" db=0.2ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:07.572 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:07.572 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 16:00:22Z], 57] 03:39:07.585 [debug] QUERY OK source="media_items" db=12.2ms idle=70.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "3 Things to Stop Being a Failure", "0f2f1de4-c5e1-4a88-8327-895a3d6eeec6", false, 57, [], 434, false, "Noj4MWQ9Kls", "https://www.youtube.com/watch?v=Noj4MWQ9Kls", 7, "/downloads/Heart of the Keys/Season 2026/s2026e072700 - 3 Things to Stop Being a Failure.mp4", false, false, 98, ~U[2026-07-27 16:00:22Z], ~U[2026-08-05 01:39:07Z], ~U[2026-08-05 01:39:07Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "3 Things to Stop Being a Failure", 57, 434, false, "Noj4MWQ9Kls", "https://www.youtube.com/watch?v=Noj4MWQ9Kls", "/downloads/Heart of the Keys/Season 2026/s2026e072700 - 3 Things to Stop Being a Failure.mp4", false, ~U[2026-07-27 16:00:22Z]] 03:39:07.585 [debug] QUERY OK source="sources" db=0.1ms idle=77.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:07.586 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:07.586 [debug] QUERY OK source="media_items" db=0.2ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5222201] 03:39:07.586 [debug] Current batch of media processed. Will check again in 1000ms 03:39:08.587 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 428, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072600 - Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes.mp4", "id" => "AN0AZCldwx4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AN0AZCldwx4", "playlist_index" => 8, "timestamp" => 1785081638, "title" => "Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes", "upload_date" => "20260726"} 03:39:08.587 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:08.588 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:08.588 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 16:00:38Z], 57] 03:39:08.599 [debug] QUERY OK source="media_items" db=10.0ms idle=85.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes", "aee4549a-ed67-4d6f-934c-bfcd051069c9", false, 57, [], 428, false, "AN0AZCldwx4", "https://www.youtube.com/watch?v=AN0AZCldwx4", 8, "/downloads/Heart of the Keys/Season 2026/s2026e072600 - Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes.mp4", false, false, 98, ~U[2026-07-26 16:00:38Z], ~U[2026-08-05 01:39:08Z], ~U[2026-08-05 01:39:08Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes", 57, 428, false, "AN0AZCldwx4", "https://www.youtube.com/watch?v=AN0AZCldwx4", "/downloads/Heart of the Keys/Season 2026/s2026e072600 - Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes.mp4", false, ~U[2026-07-26 16:00:38Z]] 03:39:08.599 [debug] QUERY OK source="sources" db=0.1ms idle=90.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:08.599 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:08.599 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218367] 03:39:08.600 [debug] Current batch of media processed. Will check again in 1000ms 03:39:09.600 [debug] Current batch of media processed. Will check again in 1000ms 03:39:10.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianistlife #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 478, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072500 - If you can't hear the difference you should stop playing piano....mp4", "id" => "Lab7J4EPwUQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Lab7J4EPwUQ", "playlist_index" => 9, "timestamp" => 1784995207, "title" => "If you can't hear the difference you should stop playing piano...", "upload_date" => "20260725"} 03:39:10.601 [debug] QUERY OK source="sources" db=0.1ms idle=825.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:10.602 [debug] QUERY OK source="sources" db=0.1ms idle=825.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:10.603 [debug] QUERY OK source="media_items" db=0.7ms idle=825.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 16:00:07Z], 57] 03:39:10.613 [debug] QUERY OK source="media_items" db=10.0ms idle=98.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianistlife #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If you can't hear the difference you should stop playing piano...", "34f6c0dd-b657-47cb-aafa-9242000a8c56", false, 57, [], 478, false, "Lab7J4EPwUQ", "https://www.youtube.com/watch?v=Lab7J4EPwUQ", 9, "/downloads/Heart of the Keys/Season 2026/s2026e072500 - If you can't hear the difference you should stop playing piano....mp4", false, false, 98, ~U[2026-07-25 16:00:07Z], ~U[2026-08-05 01:39:10Z], ~U[2026-08-05 01:39:10Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianistlife #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If you can't hear the difference you should stop playing piano...", 57, 478, false, "Lab7J4EPwUQ", "https://www.youtube.com/watch?v=Lab7J4EPwUQ", "/downloads/Heart of the Keys/Season 2026/s2026e072500 - If you can't hear the difference you should stop playing piano....mp4", false, ~U[2026-07-25 16:00:07Z]] 03:39:10.613 [debug] QUERY OK source="sources" db=0.1ms idle=102.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:10.614 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:10.614 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5214552] 03:39:10.614 [debug] Current batch of media processed. Will check again in 1000ms 03:39:11.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianomusic #classical \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 354, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e072400 - Piano Secrets Only Pros Use - Your Daily Piano Lesson.mp4", "id" => "ghgo9EgoUJw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ghgo9EgoUJw", "playlist_index" => 10, "timestamp" => 1784898016, "title" => "Piano Secrets Only Pros Use - Your Daily Piano Lesson", "upload_date" => "20260724"} 03:39:11.615 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:11.616 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:11.616 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:16Z], 57] 03:39:11.617 [debug] QUERY OK source="media_items" db=0.6ms idle=110.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianomusic #classical \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Piano Secrets Only Pros Use - Your Daily Piano Lesson", "a9033162-b644-4f73-975f-1de4bebb9531", false, 57, [], 354, false, "ghgo9EgoUJw", "https://www.youtube.com/watch?v=ghgo9EgoUJw", 10, "/downloads/Heart of the Keys/Season 2026/s2026e072400 - Piano Secrets Only Pros Use - Your Daily Piano Lesson.mp4", false, false, 98, ~U[2026-07-24 13:00:16Z], ~U[2026-08-05 01:39:11Z], ~U[2026-08-05 01:39:11Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianomusic #classical \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Piano Secrets Only Pros Use - Your Daily Piano Lesson", 57, 354, false, "ghgo9EgoUJw", "https://www.youtube.com/watch?v=ghgo9EgoUJw", "/downloads/Heart of the Keys/Season 2026/s2026e072400 - Piano Secrets Only Pros Use - Your Daily Piano Lesson.mp4", false, ~U[2026-07-24 13:00:16Z]] 03:39:11.618 [debug] QUERY OK source="sources" db=0.1ms idle=106.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:11.618 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:11.618 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5210726] 03:39:11.618 [debug] Current batch of media processed. Will check again in 1000ms 03:39:12.619 [debug] Current batch of media processed. Will check again in 1000ms 03:39:13.620 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#taylorswift #shakeitoff #pianocover \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 503, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e071900 - "Shake it off" but as a Chopin Nocturne?.mp4", "id" => "XEyfs0VEvh0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XEyfs0VEvh0", "playlist_index" => 11, "timestamp" => 1784476809, "title" => "\"Shake it off\" but as a Chopin Nocturne?", "upload_date" => "20260719"} 03:39:13.620 [debug] QUERY OK source="sources" db=0.1ms idle=844.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:13.621 [debug] QUERY OK source="sources" db=0.0ms idle=844.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:13.621 [debug] QUERY OK source="media_items" db=0.4ms idle=844.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 16:00:09Z], 57] 03:39:13.631 [debug] QUERY OK source="media_items" db=9.9ms idle=113.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#taylorswift #shakeitoff #pianocover \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "\"Shake it off\" but as a Chopin Nocturne?", "3d6b9200-aa8b-4f50-82d5-2696108118c0", false, 57, [], 503, false, "XEyfs0VEvh0", "https://www.youtube.com/watch?v=XEyfs0VEvh0", 11, "/downloads/Heart of the Keys/Season 2026/s2026e071900 - "Shake it off" but as a Chopin Nocturne?.mp4", false, false, 98, ~U[2026-07-19 16:00:09Z], ~U[2026-08-05 01:39:13Z], ~U[2026-08-05 01:39:13Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#taylorswift #shakeitoff #pianocover \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "\"Shake it off\" but as a Chopin Nocturne?", 57, 503, false, "XEyfs0VEvh0", "https://www.youtube.com/watch?v=XEyfs0VEvh0", "/downloads/Heart of the Keys/Season 2026/s2026e071900 - "Shake it off" but as a Chopin Nocturne?.mp4", false, ~U[2026-07-19 16:00:09Z]] 03:39:13.632 [debug] QUERY OK source="sources" db=0.1ms idle=118.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:13.632 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:13.632 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5191500] 03:39:13.632 [debug] Current batch of media processed. Will check again in 1000ms 03:39:14.633 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nMini Lego Piano: \nhttps://amzn.to/4gzJ01v\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 624, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e071200 - Studio Room Tour - not finished yet....mp4", "id" => "WwFNelYqFAY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WwFNelYqFAY", "playlist_index" => 12, "timestamp" => 1783875608, "title" => "Studio Room Tour - not finished yet...", "upload_date" => "20260712"} 03:39:14.633 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:14.634 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:14.634 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 17:00:08Z], 57] 03:39:14.645 [debug] QUERY OK source="media_items" db=9.9ms idle=125.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nMini Lego Piano: \nhttps://amzn.to/4gzJ01v\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Studio Room Tour - not finished yet...", "b92f58c7-1567-4dc1-9f55-b8c06d83234c", false, 57, [], 624, false, "WwFNelYqFAY", "https://www.youtube.com/watch?v=WwFNelYqFAY", 12, "/downloads/Heart of the Keys/Season 2026/s2026e071200 - Studio Room Tour - not finished yet....mp4", false, false, 98, ~U[2026-07-12 17:00:08Z], ~U[2026-08-05 01:39:14Z], ~U[2026-08-05 01:39:14Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nMini Lego Piano: \nhttps://amzn.to/4gzJ01v\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Studio Room Tour - not finished yet...", 57, 624, false, "WwFNelYqFAY", "https://www.youtube.com/watch?v=WwFNelYqFAY", "/downloads/Heart of the Keys/Season 2026/s2026e071200 - Studio Room Tour - not finished yet....mp4", false, ~U[2026-07-12 17:00:08Z]] 03:39:14.645 [debug] QUERY OK source="sources" db=0.1ms idle=130.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:14.645 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:14.646 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5164453] 03:39:14.646 [debug] Current batch of media processed. Will check again in 1000ms 03:39:15.646 [debug] Current batch of media processed. Will check again in 1000ms 03:39:16.647 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 696, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e070500 - Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios.mp4", "id" => "2wFPa-6bRyI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2wFPa-6bRyI", "playlist_index" => 13, "timestamp" => 1783267258, "title" => "Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios", "upload_date" => "20260705"} 03:39:16.648 [debug] QUERY OK source="sources" db=0.1ms idle=871.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:16.648 [debug] QUERY OK source="sources" db=0.1ms idle=871.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:16.649 [debug] QUERY OK source="media_items" db=0.5ms idle=871.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 16:00:58Z], 57] 03:39:16.650 [debug] QUERY OK source="media_items" db=0.8ms idle=138.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios", "5cb2950f-e4a2-43e2-8f52-bc2278335a2a", false, 57, [], 696, false, "2wFPa-6bRyI", "https://www.youtube.com/watch?v=2wFPa-6bRyI", 13, "/downloads/Heart of the Keys/Season 2026/s2026e070500 - Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios.mp4", false, false, 98, ~U[2026-07-05 16:00:58Z], ~U[2026-08-05 01:39:16Z], ~U[2026-08-05 01:39:16Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios", 57, 696, false, "2wFPa-6bRyI", "https://www.youtube.com/watch?v=2wFPa-6bRyI", "/downloads/Heart of the Keys/Season 2026/s2026e070500 - Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios.mp4", false, ~U[2026-07-05 16:00:58Z]] 03:39:16.650 [debug] QUERY OK source="sources" db=0.1ms idle=133.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:16.650 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:16.651 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5138069] 03:39:16.651 [debug] Current batch of media processed. Will check again in 1000ms 03:39:16.863 [info] {"source":"oban","duration":2647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:17.652 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nGet the full scores of @PatrikPietschmann Arrangement here: \nhttps://www.musicnotes.com/sheetmusic/patrik-pietschmann/hes-a-pirate/MN0193116?srsltid=AfmBOor5KXvzPuBZI-Oc6KgitBjO8acjxTtCHtfIewQQL_dJAVrLbv8W\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 452, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e062800 - Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement.mp4", "id" => "WCMIfojemq8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WCMIfojemq8", "playlist_index" => 14, "timestamp" => 1782664223, "title" => "Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement", "upload_date" => "20260628"} 03:39:17.652 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:17.653 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:17.653 [debug] QUERY OK source="media_items" db=0.4ms idle=790.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-28 16:30:23Z], 57] 03:39:17.664 [debug] QUERY OK source="media_items" db=10.0ms idle=141.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nGet the full scores of @PatrikPietschmann Arrangement here: \nhttps://www.musicnotes.com/sheetmusic/patrik-pietschmann/hes-a-pirate/MN0193116?srsltid=AfmBOor5KXvzPuBZI-Oc6KgitBjO8acjxTtCHtfIewQQL_dJAVrLbv8W\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement", "a46e2beb-6e3b-4c25-ad37-d3c15d24b936", false, 57, [], 452, false, "WCMIfojemq8", "https://www.youtube.com/watch?v=WCMIfojemq8", 14, "/downloads/Heart of the Keys/Season 2026/s2026e062800 - Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement.mp4", false, false, 98, ~U[2026-06-28 16:30:23Z], ~U[2026-08-05 01:39:17Z], ~U[2026-08-05 01:39:17Z], "Support the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nGet the full scores of @PatrikPietschmann Arrangement here: \nhttps://www.musicnotes.com/sheetmusic/patrik-pietschmann/hes-a-pirate/MN0193116?srsltid=AfmBOor5KXvzPuBZI-Oc6KgitBjO8acjxTtCHtfIewQQL_dJAVrLbv8W\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement", 57, 452, false, "WCMIfojemq8", "https://www.youtube.com/watch?v=WCMIfojemq8", "/downloads/Heart of the Keys/Season 2026/s2026e062800 - Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement.mp4", false, ~U[2026-06-28 16:30:23Z]] 03:39:17.664 [debug] QUERY OK source="sources" db=0.1ms idle=146.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:17.664 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:17.665 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5115377] 03:39:17.665 [debug] Current batch of media processed. Will check again in 1000ms 03:39:18.665 [debug] Current batch of media processed. Will check again in 1000ms 03:39:19.666 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #cinderella #storytelling \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 773, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e051400 - Chopin Ballade No.3 - The Hidden Cinderella Story?.mp4", "id" => "nJHCQiMdcBs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nJHCQiMdcBs", "playlist_index" => 15, "timestamp" => 1778774431, "title" => "Chopin Ballade No.3 - The Hidden Cinderella Story?", "upload_date" => "20260514"} 03:39:19.667 [debug] QUERY OK source="sources" db=0.1ms idle=890.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:19.667 [debug] QUERY OK source="sources" db=0.1ms idle=890.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:19.668 [debug] QUERY OK source="media_items" db=0.7ms idle=891.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 16:00:31Z], 57] 03:39:19.679 [debug] QUERY OK source="media_items" db=10.4ms idle=153.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #cinderella #storytelling \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin Ballade No.3 - The Hidden Cinderella Story?", "0b4c87da-f256-444d-b561-0503ba57f10a", false, 57, [], 773, false, "nJHCQiMdcBs", "https://www.youtube.com/watch?v=nJHCQiMdcBs", 15, "/downloads/Heart of the Keys/Season 2026/s2026e051400 - Chopin Ballade No.3 - The Hidden Cinderella Story?.mp4", false, false, 98, ~U[2026-05-14 16:00:31Z], ~U[2026-08-05 01:39:19Z], ~U[2026-08-05 01:39:19Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #cinderella #storytelling \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin Ballade No.3 - The Hidden Cinderella Story?", 57, 773, false, "nJHCQiMdcBs", "https://www.youtube.com/watch?v=nJHCQiMdcBs", "/downloads/Heart of the Keys/Season 2026/s2026e051400 - Chopin Ballade No.3 - The Hidden Cinderella Story?.mp4", false, ~U[2026-05-14 16:00:31Z]] 03:39:19.679 [debug] QUERY OK source="sources" db=0.2ms idle=158.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:19.679 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:19.680 [debug] QUERY OK source="media_items" db=0.2ms idle=12.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4956962] 03:39:19.680 [debug] Current batch of media processed. Will check again in 1000ms 03:39:20.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 541, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e050900 - Can I Master Zelda in 30min by Ear?.mp4", "id" => "HdLJT52XRU4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HdLJT52XRU4", "playlist_index" => 16, "timestamp" => 1778342430, "title" => "Can I Master Zelda in 30min by Ear?", "upload_date" => "20260509"} 03:39:20.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:20.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:20.683 [debug] QUERY OK source="media_items" db=0.7ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 16:00:30Z], 57] 03:39:20.693 [debug] QUERY OK source="media_items" db=10.1ms idle=167.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I Master Zelda in 30min by Ear?", "916b06fe-36ab-4629-9af1-3cd8b7d3004d", false, 57, [], 541, false, "HdLJT52XRU4", "https://www.youtube.com/watch?v=HdLJT52XRU4", 16, "/downloads/Heart of the Keys/Season 2026/s2026e050900 - Can I Master Zelda in 30min by Ear?.mp4", false, false, 98, ~U[2026-05-09 16:00:30Z], ~U[2026-08-05 01:39:20Z], ~U[2026-08-05 01:39:20Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I Master Zelda in 30min by Ear?", 57, 541, false, "HdLJT52XRU4", "https://www.youtube.com/watch?v=HdLJT52XRU4", "/downloads/Heart of the Keys/Season 2026/s2026e050900 - Can I Master Zelda in 30min by Ear?.mp4", false, ~U[2026-05-09 16:00:30Z]] 03:39:20.694 [debug] QUERY OK source="sources" db=0.2ms idle=172.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:20.694 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:20.694 [debug] QUERY OK source="media_items" db=0.2ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4938824] 03:39:20.695 [debug] Current batch of media processed. Will check again in 1000ms 03:39:21.695 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 680, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e050600 - Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?.mp4", "id" => "3C3MWyB7UhM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3C3MWyB7UhM", "playlist_index" => 17, "timestamp" => 1778083225, "title" => "Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?", "upload_date" => "20260506"} 03:39:21.696 [debug] QUERY OK source="sources" db=0.2ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:21.696 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:21.697 [debug] QUERY OK source="media_items" db=0.7ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 16:00:25Z], 57] 03:39:21.708 [debug] QUERY OK source="media_items" db=10.1ms idle=180.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?", "d1baccdf-bbb7-40a3-ab14-3a80dbf60756", false, 57, [], 680, false, "3C3MWyB7UhM", "https://www.youtube.com/watch?v=3C3MWyB7UhM", 17, "/downloads/Heart of the Keys/Season 2026/s2026e050600 - Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?.mp4", false, false, 98, ~U[2026-05-06 16:00:25Z], ~U[2026-08-05 01:39:21Z], ~U[2026-08-05 01:39:21Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?", 57, 680, false, "3C3MWyB7UhM", "https://www.youtube.com/watch?v=3C3MWyB7UhM", "/downloads/Heart of the Keys/Season 2026/s2026e050600 - Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?.mp4", false, ~U[2026-05-06 16:00:25Z]] 03:39:21.708 [debug] QUERY OK source="sources" db=0.1ms idle=184.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:21.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:21.709 [debug] QUERY OK source="media_items" db=0.1ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4928009] 03:39:21.709 [debug] Current batch of media processed. Will check again in 1000ms 03:39:22.710 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 700, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e050200 - Secrets nobody teaches you - Chopin Ballade No.2 Coda.mp4", "id" => "rKu3jLO9YIY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rKu3jLO9YIY", "playlist_index" => 18, "timestamp" => 1777737600, "title" => "Secrets nobody teaches you - Chopin Ballade No.2 Coda", "upload_date" => "20260502"} 03:39:22.710 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:22.711 [debug] QUERY OK source="sources" db=0.0ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:22.711 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 16:00:00Z], 57] 03:39:22.722 [debug] QUERY OK source="media_items" db=9.9ms idle=192.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Secrets nobody teaches you - Chopin Ballade No.2 Coda", "346ddb20-f273-4d35-9957-b20beac0a79e", false, 57, [], 700, false, "rKu3jLO9YIY", "https://www.youtube.com/watch?v=rKu3jLO9YIY", 18, "/downloads/Heart of the Keys/Season 2026/s2026e050200 - Secrets nobody teaches you - Chopin Ballade No.2 Coda.mp4", false, false, 98, ~U[2026-05-02 16:00:00Z], ~U[2026-08-05 01:39:22Z], ~U[2026-08-05 01:39:22Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Secrets nobody teaches you - Chopin Ballade No.2 Coda", 57, 700, false, "rKu3jLO9YIY", "https://www.youtube.com/watch?v=rKu3jLO9YIY", "/downloads/Heart of the Keys/Season 2026/s2026e050200 - Secrets nobody teaches you - Chopin Ballade No.2 Coda.mp4", false, ~U[2026-05-02 16:00:00Z]] 03:39:22.722 [debug] QUERY OK source="sources" db=0.1ms idle=197.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:22.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:22.723 [debug] QUERY OK source="media_items" db=0.1ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4914248] 03:39:22.723 [debug] Current batch of media processed. Will check again in 1000ms 03:39:23.724 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "duration" => 1203, "filename" => "/downloads/Heart of the Keys/Season 2026/s2026e042500 - Between Peace and War - Interpreting Chopin's Ballade No.2.mp4", "id" => "hNjIvd7AiPA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hNjIvd7AiPA", "playlist_index" => 19, "timestamp" => 1777132800, "title" => "Between Peace and War - Interpreting Chopin's Ballade No.2", "upload_date" => "20260425"} 03:39:23.725 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:23.725 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:23.726 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 16:00:00Z], 57] 03:39:23.727 [debug] QUERY OK source="media_items" db=0.8ms idle=206.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Between Peace and War - Interpreting Chopin's Ballade No.2", "764e2e20-b3c3-449a-a2c6-b63a191029fa", false, 57, [], 1203, false, "hNjIvd7AiPA", "https://www.youtube.com/watch?v=hNjIvd7AiPA", 19, "/downloads/Heart of the Keys/Season 2026/s2026e042500 - Between Peace and War - Interpreting Chopin's Ballade No.2.mp4", false, false, 98, ~U[2026-04-25 16:00:00Z], ~U[2026-08-05 01:39:23Z], ~U[2026-08-05 01:39:23Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Between Peace and War - Interpreting Chopin's Ballade No.2", 57, 1203, false, "hNjIvd7AiPA", "https://www.youtube.com/watch?v=hNjIvd7AiPA", "/downloads/Heart of the Keys/Season 2026/s2026e042500 - Between Peace and War - Interpreting Chopin's Ballade No.2.mp4", false, ~U[2026-04-25 16:00:00Z]] 03:39:23.727 [debug] QUERY OK source="sources" db=0.1ms idle=201.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:23.728 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:39:23.728 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4889470] 03:39:23.728 [debug] Current batch of media processed. Will check again in 1000ms 03:39:24.729 [debug] Current batch of media processed. Will check again in 1000ms 03:39:25.360 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@heartofthekeys --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Heart of the Keys/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4a/fe/4afe31c7474ff0707628dab2f69f33e88759441b8b9aa9c35768d260790b276f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/18/9d/189d15d82fed5f0cadce30b181185f444cf00d958dfd9a7f37a8c5622c14c29f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:39:25.361 [debug] Gracefully stopping file follower 03:39:25.361 [debug] QUERY OK source="sources" db=0.1ms idle=839.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [57] 03:39:25.361 [debug] QUERY OK source="sources" db=0.0ms idle=834.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.362 [debug] QUERY OK source="media_items" db=0.4ms idle=585.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 16:00:30Z], 57] 03:39:25.363 [debug] QUERY OK source="media_items" db=0.7ms idle=585.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11", "44ee1c56-dd1c-4067-854c-f05c36ce0761", false, 57, [], 720, false, "PdVn8X3yVyI", "https://www.youtube.com/watch?v=PdVn8X3yVyI", 1, "/downloads/Heart of the Keys/Season 2026/s2026e080200 - Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11.mp4", false, false, 98, ~U[2026-08-02 16:00:30Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11", 57, 720, false, "PdVn8X3yVyI", "https://www.youtube.com/watch?v=PdVn8X3yVyI", "/downloads/Heart of the Keys/Season 2026/s2026e080200 - Pro Vs Amateur - Piano Battle | Chopin Waltz in a-Minor, KK IVb No.11.mp4", false, ~U[2026-08-02 16:00:30Z]] 03:39:25.363 [debug] QUERY OK source="sources" db=0.1ms idle=586.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.363 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 16:00:03Z], 57] 03:39:25.364 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If You Can’t Play These Études, Don’t Touch Ballade No. 1", "881c12d5-7e69-4130-8b6f-fb5c8db7c465", false, 57, [], 391, false, "QXP9KLUB_rU", "https://www.youtube.com/watch?v=QXP9KLUB_rU", 2, "/downloads/Heart of the Keys/Season 2026/s2026e080100 - If You Can’t Play These Études, Don’t Touch Ballade No. 1.mp4", false, false, 98, ~U[2026-08-01 16:00:03Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If You Can’t Play These Études, Don’t Touch Ballade No. 1", 57, 391, false, "QXP9KLUB_rU", "https://www.youtube.com/watch?v=QXP9KLUB_rU", "/downloads/Heart of the Keys/Season 2026/s2026e080100 - If You Can’t Play These Études, Don’t Touch Ballade No. 1.mp4", false, ~U[2026-08-01 16:00:03Z]] 03:39:25.365 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.365 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 16:45:17Z], 57] 03:39:25.366 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1", "efbef51a-9954-434a-a110-81df224490cd", false, 57, [], 412, false, "QKgfdgxZkG0", "https://www.youtube.com/watch?v=QKgfdgxZkG0", 3, "/downloads/Heart of the Keys/Season 2026/s2026e073100 - SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1.mp4", false, false, 98, ~U[2026-07-31 16:45:17Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1", 57, 412, false, "QKgfdgxZkG0", "https://www.youtube.com/watch?v=QKgfdgxZkG0", "/downloads/Heart of the Keys/Season 2026/s2026e073100 - SUBSCRIBER Roast - Chopin Nocturne Op.48 No.1.mp4", false, ~U[2026-07-31 16:45:17Z]] 03:39:25.366 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.367 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 16:00:21Z], 57] 03:39:25.369 [debug] QUERY OK source="media_items" db=1.9ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Amateurs Always Ignore These 3 Rules - Fix your Flat Sound", "62869dad-ef3c-4532-befc-61651a265909", false, 57, [], 451, false, "HJTbrjXmNTw", "https://www.youtube.com/watch?v=HJTbrjXmNTw", 4, "/downloads/Heart of the Keys/Season 2026/s2026e073000 - Amateurs Always Ignore These 3 Rules - Fix your Flat Sound.mp4", false, false, 98, ~U[2026-07-30 16:00:21Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Amateurs Always Ignore These 3 Rules - Fix your Flat Sound", 57, 451, false, "HJTbrjXmNTw", "https://www.youtube.com/watch?v=HJTbrjXmNTw", "/downloads/Heart of the Keys/Season 2026/s2026e073000 - Amateurs Always Ignore These 3 Rules - Fix your Flat Sound.mp4", false, ~U[2026-07-30 16:00:21Z]] 03:39:25.369 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.370 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 16:00:24Z], 57] 03:39:25.370 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "THIS will change Everything - How To Breathe when Playing Piano", "08b0d012-7e17-4a34-92ba-fada1241bfbb", false, 57, [], 314, false, "TvolcQinpDA", "https://www.youtube.com/watch?v=TvolcQinpDA", 5, "/downloads/Heart of the Keys/Season 2026/s2026e072900 - THIS will change Everything - How To Breathe when Playing Piano.mp4", false, false, 98, ~U[2026-07-29 16:00:24Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "THIS will change Everything - How To Breathe when Playing Piano", 57, 314, false, "TvolcQinpDA", "https://www.youtube.com/watch?v=TvolcQinpDA", "/downloads/Heart of the Keys/Season 2026/s2026e072900 - THIS will change Everything - How To Breathe when Playing Piano.mp4", false, ~U[2026-07-29 16:00:24Z]] 03:39:25.371 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.371 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 16:00:11Z], 57] 03:39:25.372 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin's Ballade No.4 Explained | Analysis & Interpretation", "9b9b9f81-3b6d-49c2-aab0-0fa0f4bd035e", false, 57, [], 1550, false, "XkQHX29ietU", "https://www.youtube.com/watch?v=XkQHX29ietU", 6, "/downloads/Heart of the Keys/Season 2026/s2026e072800 - Chopin's Ballade No.4 Explained | Analysis & Interpretation.mp4", false, false, 98, ~U[2026-07-28 16:00:11Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin's Ballade No.4 Explained | Analysis & Interpretation", 57, 1550, false, "XkQHX29ietU", "https://www.youtube.com/watch?v=XkQHX29ietU", "/downloads/Heart of the Keys/Season 2026/s2026e072800 - Chopin's Ballade No.4 Explained | Analysis & Interpretation.mp4", false, ~U[2026-07-28 16:00:11Z]] 03:39:25.372 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.373 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 16:00:22Z], 57] 03:39:25.374 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "3 Things to Stop Being a Failure", "16b69d59-a4b7-4b1b-a1f2-bd6b2c131530", false, 57, [], 434, false, "Noj4MWQ9Kls", "https://www.youtube.com/watch?v=Noj4MWQ9Kls", 7, "/downloads/Heart of the Keys/Season 2026/s2026e072700 - 3 Things to Stop Being a Failure.mp4", false, false, 98, ~U[2026-07-27 16:00:22Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "3 Things to Stop Being a Failure", 57, 434, false, "Noj4MWQ9Kls", "https://www.youtube.com/watch?v=Noj4MWQ9Kls", "/downloads/Heart of the Keys/Season 2026/s2026e072700 - 3 Things to Stop Being a Failure.mp4", false, ~U[2026-07-27 16:00:22Z]] 03:39:25.374 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.375 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 16:00:38Z], 57] 03:39:25.376 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes", "de6b74d5-dfbd-4898-8c0a-030711853e43", false, 57, [], 428, false, "AN0AZCldwx4", "https://www.youtube.com/watch?v=AN0AZCldwx4", 8, "/downloads/Heart of the Keys/Season 2026/s2026e072600 - Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes.mp4", false, false, 98, ~U[2026-07-26 16:00:38Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianolessons #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes", 57, 428, false, "AN0AZCldwx4", "https://www.youtube.com/watch?v=AN0AZCldwx4", "/downloads/Heart of the Keys/Season 2026/s2026e072600 - Stop Practicing Like an Idiot - 3 Most Common Practice Mistakes.mp4", false, ~U[2026-07-26 16:00:38Z]] 03:39:25.376 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.376 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 16:00:07Z], 57] 03:39:25.377 [debug] QUERY OK source="media_items" db=0.8ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianistlife #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If you can't hear the difference you should stop playing piano...", "7420df89-0b4c-40d6-9d5c-96e00d276dce", false, 57, [], 478, false, "Lab7J4EPwUQ", "https://www.youtube.com/watch?v=Lab7J4EPwUQ", 9, "/downloads/Heart of the Keys/Season 2026/s2026e072500 - If you can't hear the difference you should stop playing piano....mp4", false, false, 98, ~U[2026-07-25 16:00:07Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianistlife #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "If you can't hear the difference you should stop playing piano...", 57, 478, false, "Lab7J4EPwUQ", "https://www.youtube.com/watch?v=Lab7J4EPwUQ", "/downloads/Heart of the Keys/Season 2026/s2026e072500 - If you can't hear the difference you should stop playing piano....mp4", false, ~U[2026-07-25 16:00:07Z]] 03:39:25.378 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.378 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:16Z], 57] 03:39:25.379 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianomusic #classical \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Piano Secrets Only Pros Use - Your Daily Piano Lesson", "06d6e639-bdb5-4ab6-bc08-85ccc31d3f42", false, 57, [], 354, false, "ghgo9EgoUJw", "https://www.youtube.com/watch?v=ghgo9EgoUJw", 10, "/downloads/Heart of the Keys/Season 2026/s2026e072400 - Piano Secrets Only Pros Use - Your Daily Piano Lesson.mp4", false, false, 98, ~U[2026-07-24 13:00:16Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#pianotutorial #pianomusic #classical \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Piano Secrets Only Pros Use - Your Daily Piano Lesson", 57, 354, false, "ghgo9EgoUJw", "https://www.youtube.com/watch?v=ghgo9EgoUJw", "/downloads/Heart of the Keys/Season 2026/s2026e072400 - Piano Secrets Only Pros Use - Your Daily Piano Lesson.mp4", false, ~U[2026-07-24 13:00:16Z]] 03:39:25.379 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.380 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 16:00:09Z], 57] 03:39:25.384 [debug] QUERY OK source="media_items" db=3.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#taylorswift #shakeitoff #pianocover \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "\"Shake it off\" but as a Chopin Nocturne?", "abd1f5f1-86f7-412f-958f-f096ab60acf9", false, 57, [], 503, false, "XEyfs0VEvh0", "https://www.youtube.com/watch?v=XEyfs0VEvh0", 11, "/downloads/Heart of the Keys/Season 2026/s2026e071900 - "Shake it off" but as a Chopin Nocturne?.mp4", false, false, 98, ~U[2026-07-19 16:00:09Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#taylorswift #shakeitoff #pianocover \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "\"Shake it off\" but as a Chopin Nocturne?", 57, 503, false, "XEyfs0VEvh0", "https://www.youtube.com/watch?v=XEyfs0VEvh0", "/downloads/Heart of the Keys/Season 2026/s2026e071900 - "Shake it off" but as a Chopin Nocturne?.mp4", false, ~U[2026-07-19 16:00:09Z]] 03:39:25.384 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.385 [debug] QUERY OK source="media_items" db=0.3ms 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-07-12 17:00:08Z], 57] 03:39:25.386 [debug] QUERY OK source="media_items" db=0.7ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nMini Lego Piano: \nhttps://amzn.to/4gzJ01v\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Studio Room Tour - not finished yet...", "f74c9bcd-aa1c-429a-8d1a-df16ee863f45", false, 57, [], 624, false, "WwFNelYqFAY", "https://www.youtube.com/watch?v=WwFNelYqFAY", 12, "/downloads/Heart of the Keys/Season 2026/s2026e071200 - Studio Room Tour - not finished yet....mp4", false, false, 98, ~U[2026-07-12 17:00:08Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nMini Lego Piano: \nhttps://amzn.to/4gzJ01v\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the Etudes CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Studio Room Tour - not finished yet...", 57, 624, false, "WwFNelYqFAY", "https://www.youtube.com/watch?v=WwFNelYqFAY", "/downloads/Heart of the Keys/Season 2026/s2026e071200 - Studio Room Tour - not finished yet....mp4", false, ~U[2026-07-12 17:00:08Z]] 03:39:25.386 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.386 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 16:00:58Z], 57] 03:39:25.387 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios", "a45ce3a7-2ef6-4ffc-b3b6-f3be1a12c7f4", false, 57, [], 696, false, "2wFPa-6bRyI", "https://www.youtube.com/watch?v=2wFPa-6bRyI", 13, "/downloads/Heart of the Keys/Season 2026/s2026e070500 - Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios.mp4", false, false, 98, ~U[2026-07-05 16:00:58Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Vienna Ehrbar Saal 7th November 2026 - Tickets here: \nhttps://www.annique-piano.com/event-details/annique-gottler-x-wien\n\nSupport the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios", 57, 696, false, "2wFPa-6bRyI", "https://www.youtube.com/watch?v=2wFPa-6bRyI", "/downloads/Heart of the Keys/Season 2026/s2026e070500 - Professional Pianist reacts (and corrects) GEMINI Piano Advices | Trills & Arpeggios.mp4", false, ~U[2026-07-05 16:00:58Z]] 03:39:25.388 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.388 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-28 16:30:23Z], 57] 03:39:25.389 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nGet the full scores of @PatrikPietschmann Arrangement here: \nhttps://www.musicnotes.com/sheetmusic/patrik-pietschmann/hes-a-pirate/MN0193116?srsltid=AfmBOor5KXvzPuBZI-Oc6KgitBjO8acjxTtCHtfIewQQL_dJAVrLbv8W\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement", "03fde742-1591-4cc3-8d84-252c4d47ff76", false, 57, [], 452, false, "WCMIfojemq8", "https://www.youtube.com/watch?v=WCMIfojemq8", 14, "/downloads/Heart of the Keys/Season 2026/s2026e062800 - Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement.mp4", false, false, 98, ~U[2026-06-28 16:30:23Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support the new Album through GoFundMe here: \nhttps://www.gofundme.com/f/recording-all-chopin-ballades-without-words\n\nGet the full scores of @PatrikPietschmann Arrangement here: \nhttps://www.musicnotes.com/sheetmusic/patrik-pietschmann/hes-a-pirate/MN0193116?srsltid=AfmBOor5KXvzPuBZI-Oc6KgitBjO8acjxTtCHtfIewQQL_dJAVrLbv8W\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#piratesofthecaribbean #pianomusic #challenge \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement", 57, 452, false, "WCMIfojemq8", "https://www.youtube.com/watch?v=WCMIfojemq8", "/downloads/Heart of the Keys/Season 2026/s2026e062800 - Classical Pianist tries Pirates of the Caribbean Piano Challenge | @PatrikPietschmann Arrangement.mp4", false, ~U[2026-06-28 16:30:23Z]] 03:39:25.389 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.390 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 16:00:31Z], 57] 03:39:25.391 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #cinderella #storytelling \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin Ballade No.3 - The Hidden Cinderella Story?", "d910782d-62aa-48d9-8ced-3ea456f66eb7", false, 57, [], 773, false, "nJHCQiMdcBs", "https://www.youtube.com/watch?v=nJHCQiMdcBs", 15, "/downloads/Heart of the Keys/Season 2026/s2026e051400 - Chopin Ballade No.3 - The Hidden Cinderella Story?.mp4", false, false, 98, ~U[2026-05-14 16:00:31Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #cinderella #storytelling \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Chopin Ballade No.3 - The Hidden Cinderella Story?", 57, 773, false, "nJHCQiMdcBs", "https://www.youtube.com/watch?v=nJHCQiMdcBs", "/downloads/Heart of the Keys/Season 2026/s2026e051400 - Chopin Ballade No.3 - The Hidden Cinderella Story?.mp4", false, ~U[2026-05-14 16:00:31Z]] 03:39:25.391 [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" = ?) [57] 03:39:25.391 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 16:00:30Z], 57] 03:39:25.392 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I Master Zelda in 30min by Ear?", "bec32aa4-282a-45bb-b7b7-e865f7caba7a", false, 57, [], 541, false, "HdLJT52XRU4", "https://www.youtube.com/watch?v=HdLJT52XRU4", 16, "/downloads/Heart of the Keys/Season 2026/s2026e050900 - Can I Master Zelda in 30min by Ear?.mp4", false, false, 98, ~U[2026-05-09 16:00:30Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I Master Zelda in 30min by Ear?", 57, 541, false, "HdLJT52XRU4", "https://www.youtube.com/watch?v=HdLJT52XRU4", "/downloads/Heart of the Keys/Season 2026/s2026e050900 - Can I Master Zelda in 30min by Ear?.mp4", false, ~U[2026-05-09 16:00:30Z]] 03:39:25.392 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.393 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 16:00:25Z], 57] 03:39:25.394 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?", "9d1aed54-b942-449e-bf6e-9635a3bfdcaa", false, 57, [], 680, false, "3C3MWyB7UhM", "https://www.youtube.com/watch?v=3C3MWyB7UhM", 17, "/downloads/Heart of the Keys/Season 2026/s2026e050600 - Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?.mp4", false, false, 98, ~U[2026-05-06 16:00:25Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?", 57, 680, false, "3C3MWyB7UhM", "https://www.youtube.com/watch?v=3C3MWyB7UhM", "/downloads/Heart of the Keys/Season 2026/s2026e050600 - Can I MASTER the Super Mario Theme playing by Ear in Only 30 Min?.mp4", false, ~U[2026-05-06 16:00:25Z]] 03:39:25.394 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.394 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 16:00:00Z], 57] 03:39:25.395 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Secrets nobody teaches you - Chopin Ballade No.2 Coda", "000fbb37-af13-4e82-b04f-b933a309c9f6", false, 57, [], 700, false, "rKu3jLO9YIY", "https://www.youtube.com/watch?v=rKu3jLO9YIY", 18, "/downloads/Heart of the Keys/Season 2026/s2026e050200 - Secrets nobody teaches you - Chopin Ballade No.2 Coda.mp4", false, false, 98, ~U[2026-05-02 16:00:00Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Secrets nobody teaches you - Chopin Ballade No.2 Coda", 57, 700, false, "rKu3jLO9YIY", "https://www.youtube.com/watch?v=rKu3jLO9YIY", "/downloads/Heart of the Keys/Season 2026/s2026e050200 - Secrets nobody teaches you - Chopin Ballade No.2 Coda.mp4", false, ~U[2026-05-02 16:00:00Z]] 03:39:25.395 [debug] QUERY OK source="sources" db=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 03:39:25.396 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 16:00:00Z], 57] 03:39:25.396 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Between Peace and War - Interpreting Chopin's Ballade No.2", "3f40d399-f613-45e5-a970-d1752e59425a", false, 57, [], 1203, false, "hNjIvd7AiPA", "https://www.youtube.com/watch?v=hNjIvd7AiPA", 19, "/downloads/Heart of the Keys/Season 2026/s2026e042500 - Between Peace and War - Interpreting Chopin's Ballade No.2.mp4", false, false, 98, ~U[2026-04-25 16:00:00Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "Between Peace and War - Interpreting Chopin's Ballade No.2", 57, 1203, false, "hNjIvd7AiPA", "https://www.youtube.com/watch?v=hNjIvd7AiPA", "/downloads/Heart of the Keys/Season 2026/s2026e042500 - Between Peace and War - Interpreting Chopin's Ballade No.2.mp4", false, ~U[2026-04-25 16:00:00Z]] 03:39:25.397 [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" = ?) [57] 03:39:25.397 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 16:00:00Z], 57] 03:39:25.407 [debug] QUERY OK source="media_items" db=9.8ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "The Darwin Awards: Classical Music Edition", "61ca56df-b287-492e-a001-0c069450d8ce", false, 57, [], 618, false, "QmKQ5HXykT4", "https://www.youtube.com/watch?v=QmKQ5HXykT4", 20, "/downloads/Heart of the Keys/Season 2026/s2026e041800 - The Darwin Awards: Classical Music Edition.mp4", false, false, 98, ~U[2026-04-18 16:00:00Z], ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], "Support my new Album on GoFundMe: \nhttps://gofund.me/906ad199d\n\nCheck Out my Keys Academy on MyGroove and get 20% off: \nhttps://mygroove.app/shop/?code=ANNIQUE20\n\nUpcoming Concerts & Tickets: \nhttps://www.annique-piano.com/concerts \n\nGet the CD here: https://www.annique-piano.com/album \n\nOn this channel I am sharing my experience and thoughts about fingerings, interpretation, fingertechniques and playing piano in general. \nIf you have any questions or ideas please leave it in the comments! \n\nGet the Heart of the Keys Merch: \nhttps://heart-of-the-keys.creator-spring.com/ \n\nMore on YouTube: https://www.youtube.com/channel/UCjRWiFEcHF2WteeXruAD8Rg \n\nMore on Instagram: \nhttps://www.instagram.com/anniquegoettler/ \n\nSupport me on Patreon: \nhttps://www.patreon.com/anniquegoettler \n\nVisit my website: https://www.annique-piano.com/ \n\nGet a lesson: https://en.annique-piano.com/lessons \n\n#chopinballade #laeiszhalle #classicalmusic \n\nThank you very much! Stay safe, stay healthy and stay in the Heart of the Keys!;P", "The Darwin Awards: Classical Music Edition", 57, 618, false, "QmKQ5HXykT4", "https://www.youtube.com/watch?v=QmKQ5HXykT4", "/downloads/Heart of the Keys/Season 2026/s2026e041800 - The Darwin Awards: Classical Music Edition.mp4", false, ~U[2026-04-18 16:00:00Z]] 03:39:25.407 [debug] QUERY OK source="sources" db=0.1ms idle=11.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z], 57] 03:39:25.408 [debug] QUERY OK source="media_items" db=0.5ms idle=11.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [57] 03:39:25.409 [debug] QUERY OK source="media_items" db=0.4ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [57] 03:39:25.409 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [57] 03:39:25.410 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133826, 57, ~U[2026-08-05 01:39:25Z], ~U[2026-08-05 01:39:25Z]] 03:39:25.410 [info] {"args":{"id":57},"id":133321,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":29913834,"event":"job:stop","queue_time":160482,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:39:46.875 [info] {"source":"oban","duration":11881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 03:40:00.394 [info] {"source":"oban","duration":125,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:16.878 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:46.879 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.395 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:16.904 [info] {"source":"oban","duration":23878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 03:41:46.907 [info] {"source":"oban","duration":2553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.396 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:16.909 [info] {"source":"oban","duration":1170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:46.911 [info] {"source":"oban","duration":1175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.397 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:16.913 [info] {"source":"oban","duration":1083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:46.917 [info] {"source":"oban","duration":2645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.398 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:16.918 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:46.920 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.399 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:16.922 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:46.924 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.400 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:16.926 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:46.929 [info] {"source":"oban","duration":2540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.401 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:11.027 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785894431027452860,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:47:11.028 [debug] QUERY OK source="media_items" db=0.3ms idle=1019.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3646417] 03:47:11.028 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:47:11.028 [debug] QUERY OK source="sources" db=0.1ms idle=250.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 03:47:11.028 [debug] QUERY OK source="media_profiles" db=0.2ms idle=250.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:47:11.029 [debug] QUERY OK source="media_items" db=0.3ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 03:47:11.029 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 03:47:11.029 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:47:11.030 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:11.030 [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 [] 03:47:11.030 [debug] Running yt-dlp command for action: get_downloadable_status 03:47:11.030 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:11.030 [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 [] 03:47:11.030 [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 [] 03:47:11.031 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/e4/49e457eb6bd7c4e80f5615f3af52923e65897d60a0e0ae792b840af5998da730.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:47:12.395 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/e4/49e457eb6bd7c4e80f5615f3af52923e65897d60a0e0ae792b840af5998da730.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:47:12.395 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:47:12.396 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1368222,"event":"job:exception","queue_time":36680,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:47:16.932 [info] {"source":"oban","duration":1830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:46.935 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.402 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:16.937 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:46.940 [info] {"source":"oban","duration":2569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.403 [info] {"source":"oban","duration":121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:16.942 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:46.945 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.404 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:16.946 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:46.948 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.405 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:16.951 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:46.952 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.406 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:12.337 [info] {"args":{"id":4429248},"id":133420,"meta":{},"system_time":1785894732336945724,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:52:12.337 [debug] QUERY OK source="media_items" db=0.2ms idle=1007.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4429248] 03:52:12.337 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:52:12.337 [debug] QUERY OK source="sources" db=0.2ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:52:12.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=560.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:52:12.338 [debug] QUERY OK source="media_items" db=0.2ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4429248] 03:52:12.339 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4429248] 03:52:12.339 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:52:12.339 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:12.339 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:12.339 [debug] Running yt-dlp command for action: get_downloadable_status 03:52:12.340 [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 [] 03:52:12.340 [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 [] 03:52:12.340 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:12.340 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/d6/79d616daab624dcc5d4594f0d32ddbaf2e37298ebf9aae6d8a3601bd1b9f8fe3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:52:14.249 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/d6/79d616daab624dcc5d4594f0d32ddbaf2e37298ebf9aae6d8a3601bd1b9f8fe3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:52:14.249 [error] yt-dlp download error for media item #4429248: "WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:52:14.250 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4429248},"id":133420,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1913058,"event":"job:exception","queue_time":76029,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:52:16.964 [info] {"source":"oban","duration":11460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 03:52:21.346 [info] {"args":{"id":3471419},"id":133416,"meta":{},"system_time":1785894741346000775,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:52:21.346 [debug] QUERY OK source="media_items" db=0.1ms idle=1007.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3471419] 03:52:21.346 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:52:21.346 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:52:21.347 [debug] QUERY OK source="media_profiles" db=0.1ms idle=569.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:52:21.347 [debug] QUERY OK source="media_items" db=0.3ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3471419] 03:52:21.357 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3471419] 03:52:21.357 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:52:21.357 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:21.357 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:21.358 [debug] Running yt-dlp command for action: get_downloadable_status 03:52:21.358 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:21.358 [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 [] 03:52:21.358 [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 [] 03:52:21.358 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/7f/5f7fef36f1f33c6b48fbde425ff4d90f6638e7925ece4b4d0ae9e600df2415a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:52:23.210 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/7f/5f7fef36f1f33c6b48fbde425ff4d90f6638e7925ece4b4d0ae9e600df2415a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:52:23.210 [error] yt-dlp download error for media item #3471419: "WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:52:23.211 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3471419},"id":133416,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1864963,"event":"job:exception","queue_time":189898,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:52:46.968 [info] {"source":"oban","duration":2639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.407 [info] {"source":"oban","duration":108,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:07.394 [info] {"args":{"id":2889465},"id":133412,"meta":{},"system_time":1785894787394250459,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:07.394 [debug] QUERY OK source="media_items" db=0.1ms idle=1002.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2889465] 03:53:07.394 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:07.395 [debug] QUERY OK source="sources" db=0.1ms idle=617.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 03:53:07.395 [debug] QUERY OK source="media_profiles" db=0.1ms idle=617.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:07.395 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2889465] 03:53:07.405 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [2889465] 03:53:07.405 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:07.406 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:07.406 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:07.406 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:07.407 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:07.407 [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 [] 03:53:07.407 [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 [] 03:53:07.407 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/ee/16eeeb5b6990cf78a457696cf8d469a28efb51b1d726e29f0b507a55844249ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:09.351 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/ee/16eeeb5b6990cf78a457696cf8d469a28efb51b1d726e29f0b507a55844249ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:09.351 [error] yt-dlp download error for media item #2889465: "WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:09.352 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2889465},"id":133412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1957580,"event":"job:exception","queue_time":204170,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:09.395 [info] {"args":{"id":3822586},"id":133418,"meta":{},"system_time":1785894789395873095,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:09.396 [debug] QUERY OK source="media_items" db=0.1ms idle=618.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3822586] 03:53:09.396 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:09.396 [debug] QUERY OK source="sources" db=0.1ms idle=44.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:53:09.396 [debug] QUERY OK source="media_profiles" db=0.1ms idle=37.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:09.397 [debug] QUERY OK source="media_items" db=0.1ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3822586] 03:53:09.406 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3822586] 03:53:09.407 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:09.407 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:09.407 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:09.407 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:09.408 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:09.408 [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 [] 03:53:09.408 [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 [] 03:53:09.408 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/ef/5bef19d4f367d419eb58a0120d0b9751f78cd48ac505183ac58afb4bcee9f7a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:11.399 [info] {"args":{"id":3773721},"id":133417,"meta":{},"system_time":1785894791399284418,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:11.399 [debug] QUERY OK source="media_items" db=0.2ms idle=622.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3773721] 03:53:11.400 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:11.400 [debug] QUERY OK source="sources" db=0.1ms idle=622.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:53:11.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=623.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:11.401 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3773721] 03:53:11.411 [debug] QUERY OK source="media_metadata" db=0.1ms idle=12.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3773721] 03:53:11.411 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:11.411 [debug] QUERY OK source="settings" db=0.0ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:11.412 [debug] QUERY OK source="settings" db=0.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:11.412 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:11.412 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:11.413 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:11.413 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:11.413 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/f4/36f4f06419c7e4a48049174ca8552dce8228831507d883306b9fa8be1e8fd209.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:11.441 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/ef/5bef19d4f367d419eb58a0120d0b9751f78cd48ac505183ac58afb4bcee9f7a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:11.441 [error] yt-dlp download error for media item #3822586: "WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:11.441 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3822586},"id":133418,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2045474,"event":"job:exception","queue_time":172875,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:13.402 [info] {"args":{"id":5104350},"id":133415,"meta":{},"system_time":1785894793402399233,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:13.402 [debug] QUERY OK source="media_items" db=0.2ms idle=625.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5104350] 03:53:13.403 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:13.403 [debug] QUERY OK source="sources" db=0.2ms idle=625.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:53:13.403 [debug] QUERY OK source="media_profiles" db=0.1ms idle=626.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:13.404 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5104350] 03:53:13.404 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5104350] 03:53:13.405 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:13.405 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:13.405 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:13.405 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:13.406 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:13.406 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:13.407 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:13.407 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/79/e6796c689953b786e6bb66277b588280fa10806eb0ca6c226677402a8b654d4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:13.455 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/f4/36f4f06419c7e4a48049174ca8552dce8228831507d883306b9fa8be1e8fd209.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:13.456 [error] yt-dlp download error for media item #3773721: "WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:13.456 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3773721},"id":133417,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2057030,"event":"job:exception","queue_time":196864,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:15.376 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/79/e6796c689953b786e6bb66277b588280fa10806eb0ca6c226677402a8b654d4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:15.376 [error] yt-dlp download error for media item #5104350: "WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:15.377 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":5104350},"id":133415,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1974608,"event":"job:exception","queue_time":317155,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:16.971 [info] {"source":"oban","duration":3530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:34.433 [info] {"args":{"id":4054936},"id":133419,"meta":{},"system_time":1785894814433169679,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:34.433 [debug] QUERY OK source="media_items" db=0.1ms idle=1656.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4054936] 03:53:34.434 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:34.434 [debug] QUERY OK source="sources" db=0.2ms idle=1008.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:53:34.434 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1002.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:34.435 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4054936] 03:53:34.436 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4054936] 03:53:34.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:34.436 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:34.437 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:34.437 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:34.438 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:34.438 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:34.438 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:34.438 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/67/b967df57b6755e89328a98041ad44f4092bb8af112da1fb745870651c46f1699.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:35.435 [info] {"args":{"id":4608339},"id":133421,"meta":{},"system_time":1785894815435037431,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:35.435 [debug] QUERY OK source="media_items" db=0.2ms idle=997.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4608339] 03:53:35.435 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:35.436 [debug] QUERY OK source="sources" db=0.1ms idle=997.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 03:53:35.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=997.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:35.436 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4608339] 03:53:35.446 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4608339] 03:53:35.447 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:35.447 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:35.448 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:35.448 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:35.448 [debug] QUERY OK source="settings" db=0.0ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:35.448 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:35.448 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:35.449 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ba/6c/ba6c4e372a2d82b792979e1feaf1b5810a132ee99347a8015b95cef63fc798f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:53:36.535 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/67/b967df57b6755e89328a98041ad44f4092bb8af112da1fb745870651c46f1699.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:36.535 [error] yt-dlp download error for media item #4054936: "WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:36.536 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4054936},"id":133419,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2102876,"event":"job:exception","queue_time":194187,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:37.580 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ba/6c/ba6c4e372a2d82b792979e1feaf1b5810a132ee99347a8015b95cef63fc798f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video. 03:53:37.580 [error] yt-dlp download error for media item #4608339: "WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 03:53:37.581 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4608339},"id":133421,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2145896,"event":"job:exception","queue_time":305631,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:46.974 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.408 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:16.976 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 03:54:22.493 [info] {"args":{"id":46},"id":133322,"meta":{},"system_time":1785894862493583831,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:54:22.494 [debug] QUERY OK source="sources" db=0.2ms idle=1009.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:22.494 [debug] QUERY OK source="settings" db=0.1ms idle=1004.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.511 [debug] QUERY OK source="media_items" db=16.4ms idle=9.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 03:54:22.512 [debug] QUERY OK source="media_items" db=0.9ms idle=18.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 03:54:22.512 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:22.512 [debug] QUERY OK source="settings" db=0.0ms idle=18.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.512 [debug] QUERY OK source="settings" db=0.0ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.513 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [46] 03:54:22.514 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:54:22.514 [debug] Current batch of media processed. Will check again in 1000ms 03:54:22.514 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.514 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.514 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:22.514 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@youreterrific?si=7FhtvCrW9AUj78fk --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/YoureTerrific/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b1/1f/b11fb1975599707fab7b5dc4f441ea7406c793aa8cb9e9ce3403ce68f7b7737d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1e/b4/1eb4043a6fe4acb4c258c35a6c33ca5ead71d52b453750e08da3d9a45af2377e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:54:23.515 [debug] Current batch of media processed. Will check again in 1000ms 03:54:24.516 [debug] Current batch of media processed. Will check again in 1000ms 03:54:25.517 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch. Big watch.\n\nhttps://topperjewelers.com/collections/omega-watches/products/omega-210-32-44-51-01-002", "duration" => 510, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e072800 - Omega Seamaster James Bond First Light 007.mp4", "id" => "LFzfKmPsyrs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LFzfKmPsyrs", "playlist_index" => 1, "timestamp" => 1785254408, "title" => "Omega Seamaster James Bond First Light 007", "upload_date" => "20260728"} 03:54:25.517 [debug] QUERY OK source="sources" db=0.1ms idle=1740.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:25.518 [debug] QUERY OK source="sources" db=0.0ms idle=1030.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:25.518 [debug] QUERY OK source="media_items" db=0.2ms idle=1024.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 16:00:08Z], 46] 03:54:25.528 [debug] QUERY OK source="media_items" db=9.8ms idle=29.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Watch. Big watch.\n\nhttps://topperjewelers.com/collections/omega-watches/products/omega-210-32-44-51-01-002", "Omega Seamaster James Bond First Light 007", "42102e35-ef6f-4fc2-a3f5-18e3bbf0aec9", false, 46, [], 510, false, "LFzfKmPsyrs", "https://www.youtube.com/watch?v=LFzfKmPsyrs", 1, "/downloads/YoureTerrific/Season 2026/s2026e072800 - Omega Seamaster James Bond First Light 007.mp4", false, false, 98, ~U[2026-07-28 16:00:08Z], ~U[2026-08-05 01:54:25Z], ~U[2026-08-05 01:54:25Z], "Watch. Big watch.\n\nhttps://topperjewelers.com/collections/omega-watches/products/omega-210-32-44-51-01-002", "Omega Seamaster James Bond First Light 007", 46, 510, false, "LFzfKmPsyrs", "https://www.youtube.com/watch?v=LFzfKmPsyrs", "/downloads/YoureTerrific/Season 2026/s2026e072800 - Omega Seamaster James Bond First Light 007.mp4", false, ~U[2026-07-28 16:00:08Z]] 03:54:25.528 [debug] QUERY OK source="sources" db=0.1ms idle=33.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:25.529 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:25.529 [debug] QUERY OK source="media_items" db=0.2ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226064] 03:54:25.529 [debug] Current batch of media processed. Will check again in 1000ms 03:54:26.530 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Citizen turned the popular Tsuyosa watches into dive watches... sort of.\n\nhttps://www.citizenwatch.com/us/en/product/NJ0230-59L\nhttps://www.citizenwatch.com/us/en/product/NJ0232-53X", "duration" => 558, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e072100 - The Citizen Tsuyosa SHORE.mp4", "id" => "y8Q2EQe-FoM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y8Q2EQe-FoM", "playlist_index" => 2, "timestamp" => 1784649639, "title" => "The Citizen Tsuyosa SHORE", "upload_date" => "20260721"} 03:54:26.531 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:26.531 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:26.532 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 16:00:39Z], 46] 03:54:26.542 [debug] QUERY OK source="media_items" db=9.7ms idle=42.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Citizen turned the popular Tsuyosa watches into dive watches... sort of.\n\nhttps://www.citizenwatch.com/us/en/product/NJ0230-59L\nhttps://www.citizenwatch.com/us/en/product/NJ0232-53X", "The Citizen Tsuyosa SHORE", "6681a872-b183-484f-9d7a-77bb14ce8b59", false, 46, [], 558, false, "y8Q2EQe-FoM", "https://www.youtube.com/watch?v=y8Q2EQe-FoM", 2, "/downloads/YoureTerrific/Season 2026/s2026e072100 - The Citizen Tsuyosa SHORE.mp4", false, false, 98, ~U[2026-07-21 16:00:39Z], ~U[2026-08-05 01:54:26Z], ~U[2026-08-05 01:54:26Z], "Citizen turned the popular Tsuyosa watches into dive watches... sort of.\n\nhttps://www.citizenwatch.com/us/en/product/NJ0230-59L\nhttps://www.citizenwatch.com/us/en/product/NJ0232-53X", "The Citizen Tsuyosa SHORE", 46, 558, false, "y8Q2EQe-FoM", "https://www.youtube.com/watch?v=y8Q2EQe-FoM", "/downloads/YoureTerrific/Season 2026/s2026e072100 - The Citizen Tsuyosa SHORE.mp4", false, ~U[2026-07-21 16:00:39Z]] 03:54:26.542 [debug] QUERY OK source="sources" db=0.2ms idle=46.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:26.542 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:26.543 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5199224] 03:54:26.543 [debug] Current batch of media processed. Will check again in 1000ms 03:54:27.544 [debug] Current batch of media processed. Will check again in 1000ms 03:54:28.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://www.zenith-watches.com/en_us/product/chronomaster-revival-03-us384-2-400-69-m384\n\nZenith celebrates the USA's 250th birthday with an El Primero", "duration" => 490, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e071200 - The Patriotic Zenith Chronomaster Liberty II 🇺🇸.mp4", "id" => "1jWm_KYyXp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1jWm_KYyXp8", "playlist_index" => 3, "timestamp" => 1783868408, "title" => "The Patriotic Zenith Chronomaster Liberty II 🇺🇸", "upload_date" => "20260712"} 03:54:28.545 [debug] QUERY OK source="sources" db=0.1ms idle=768.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:28.546 [debug] QUERY OK source="sources" db=0.1ms idle=768.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:28.546 [debug] QUERY OK source="media_items" db=0.5ms idle=768.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 15:00:08Z], 46] 03:54:28.556 [debug] QUERY OK source="media_items" db=9.7ms idle=54.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.zenith-watches.com/en_us/product/chronomaster-revival-03-us384-2-400-69-m384\n\nZenith celebrates the USA's 250th birthday with an El Primero", "The Patriotic Zenith Chronomaster Liberty II 🇺🇸", "72215d30-75da-456a-89f3-d13d758d678a", false, 46, [], 490, false, "1jWm_KYyXp8", "https://www.youtube.com/watch?v=1jWm_KYyXp8", 3, "/downloads/YoureTerrific/Season 2026/s2026e071200 - The Patriotic Zenith Chronomaster Liberty II 🇺🇸.mp4", false, false, 98, ~U[2026-07-12 15:00:08Z], ~U[2026-08-05 01:54:28Z], ~U[2026-08-05 01:54:28Z], "https://www.zenith-watches.com/en_us/product/chronomaster-revival-03-us384-2-400-69-m384\n\nZenith celebrates the USA's 250th birthday with an El Primero", "The Patriotic Zenith Chronomaster Liberty II 🇺🇸", 46, 490, false, "1jWm_KYyXp8", "https://www.youtube.com/watch?v=1jWm_KYyXp8", "/downloads/YoureTerrific/Season 2026/s2026e071200 - The Patriotic Zenith Chronomaster Liberty II 🇺🇸.mp4", false, ~U[2026-07-12 15:00:08Z]] 03:54:28.557 [debug] QUERY OK source="sources" db=0.1ms idle=58.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:28.557 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:28.557 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5164494] 03:54:28.557 [debug] Current batch of media processed. Will check again in 1000ms 03:54:29.558 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://www.exquisitetimepieces.com/longines-hydroconquest-l37794066.html\n\nDo I get it? Do you get it?", "duration" => 618, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e062300 - Why are people excited about this watch? The new Longines Hydroconquest.mp4", "id" => "tekORFynqO8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tekORFynqO8", "playlist_index" => 4, "timestamp" => 1782226830, "title" => "Why are people excited about this watch? The new Longines Hydroconquest", "upload_date" => "20260623"} 03:54:29.558 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:29.559 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:29.559 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 15:00:30Z], 46] 03:54:29.569 [debug] QUERY OK source="media_items" db=9.8ms idle=65.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.exquisitetimepieces.com/longines-hydroconquest-l37794066.html\n\nDo I get it? Do you get it?", "Why are people excited about this watch? The new Longines Hydroconquest", "a39d2846-97ad-48e7-ba2a-25fc327386cf", false, 46, [], 618, false, "tekORFynqO8", "https://www.youtube.com/watch?v=tekORFynqO8", 4, "/downloads/YoureTerrific/Season 2026/s2026e062300 - Why are people excited about this watch? The new Longines Hydroconquest.mp4", false, false, 98, ~U[2026-06-23 15:00:30Z], ~U[2026-08-05 01:54:29Z], ~U[2026-08-05 01:54:29Z], "https://www.exquisitetimepieces.com/longines-hydroconquest-l37794066.html\n\nDo I get it? Do you get it?", "Why are people excited about this watch? The new Longines Hydroconquest", 46, 618, false, "tekORFynqO8", "https://www.youtube.com/watch?v=tekORFynqO8", "/downloads/YoureTerrific/Season 2026/s2026e062300 - Why are people excited about this watch? The new Longines Hydroconquest.mp4", false, ~U[2026-06-23 15:00:30Z]] 03:54:29.570 [debug] QUERY OK source="sources" db=0.2ms idle=70.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:29.570 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:29.570 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5099244] 03:54:29.570 [debug] Current batch of media processed. Will check again in 1000ms 03:54:30.571 [debug] Current batch of media processed. Will check again in 1000ms 03:54:31.572 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A look at the limited edition collaboration between two Parisian watchmakers.\n\nMore info here: https://baltic-spaceone.com/", "duration" => 547, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e053100 - All gone - Baltic x SpaceOne Seconde Majeure.mp4", "id" => "YHoHP4j9DZQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YHoHP4j9DZQ", "playlist_index" => 5, "timestamp" => 1780239631, "title" => "All gone - Baltic x SpaceOne Seconde Majeure", "upload_date" => "20260531"} 03:54:31.572 [debug] QUERY OK source="sources" db=0.1ms idle=795.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:31.573 [debug] QUERY OK source="sources" db=0.1ms idle=795.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:31.573 [debug] QUERY OK source="media_items" db=0.3ms idle=795.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 15:00:31Z], 46] 03:54:31.583 [debug] QUERY OK source="media_items" db=9.8ms idle=77.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the limited edition collaboration between two Parisian watchmakers.\n\nMore info here: https://baltic-spaceone.com/", "All gone - Baltic x SpaceOne Seconde Majeure", "eeed3c8c-9c6b-4423-952b-98806d14a5ff", false, 46, [], 547, false, "YHoHP4j9DZQ", "https://www.youtube.com/watch?v=YHoHP4j9DZQ", 5, "/downloads/YoureTerrific/Season 2026/s2026e053100 - All gone - Baltic x SpaceOne Seconde Majeure.mp4", false, false, 98, ~U[2026-05-31 15:00:31Z], ~U[2026-08-05 01:54:31Z], ~U[2026-08-05 01:54:31Z], "A look at the limited edition collaboration between two Parisian watchmakers.\n\nMore info here: https://baltic-spaceone.com/", "All gone - Baltic x SpaceOne Seconde Majeure", 46, 547, false, "YHoHP4j9DZQ", "https://www.youtube.com/watch?v=YHoHP4j9DZQ", "/downloads/YoureTerrific/Season 2026/s2026e053100 - All gone - Baltic x SpaceOne Seconde Majeure.mp4", false, ~U[2026-05-31 15:00:31Z]] 03:54:31.583 [debug] QUERY OK source="sources" db=0.1ms idle=82.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:31.584 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:31.584 [debug] QUERY OK source="media_items" db=0.1ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5019418] 03:54:31.584 [debug] Current batch of media processed. Will check again in 1000ms 03:54:32.585 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This one - https://www.casio.com/us/watches/casio/product.LA-20WH-8A/\n\nAlso, don't pretend you're buying a watch for your kid when it's really for you.", "duration" => 339, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e051900 - I bought a Casio LA20WH - It’s a kid’s watch.mp4", "id" => "ubA_GkJF7gY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ubA_GkJF7gY", "playlist_index" => 6, "timestamp" => 1779206476, "title" => "I bought a Casio LA20WH - It’s a kid’s watch", "upload_date" => "20260519"} 03:54:32.585 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:32.586 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:32.586 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 16:01:16Z], 46] 03:54:32.596 [debug] QUERY OK source="media_items" db=9.7ms idle=89.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This one - https://www.casio.com/us/watches/casio/product.LA-20WH-8A/\n\nAlso, don't pretend you're buying a watch for your kid when it's really for you.", "I bought a Casio LA20WH - It’s a kid’s watch", "14dc8f1c-aa28-4563-83dd-689f9c4e1175", false, 46, [], 339, false, "ubA_GkJF7gY", "https://www.youtube.com/watch?v=ubA_GkJF7gY", 6, "/downloads/YoureTerrific/Season 2026/s2026e051900 - I bought a Casio LA20WH - It’s a kid’s watch.mp4", false, false, 98, ~U[2026-05-19 16:01:16Z], ~U[2026-08-05 01:54:32Z], ~U[2026-08-05 01:54:32Z], "This one - https://www.casio.com/us/watches/casio/product.LA-20WH-8A/\n\nAlso, don't pretend you're buying a watch for your kid when it's really for you.", "I bought a Casio LA20WH - It’s a kid’s watch", 46, 339, false, "ubA_GkJF7gY", "https://www.youtube.com/watch?v=ubA_GkJF7gY", "/downloads/YoureTerrific/Season 2026/s2026e051900 - I bought a Casio LA20WH - It’s a kid’s watch.mp4", false, ~U[2026-05-19 16:01:16Z]] 03:54:32.597 [debug] QUERY OK source="sources" db=0.2ms idle=93.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:32.597 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:32.597 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4975295] 03:54:32.597 [debug] Current batch of media processed. Will check again in 1000ms 03:54:33.598 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Fun innovation is still possible.\n\nMusic by \rUnknown Mortal Orchestra + Nils Reine Fiske", "duration" => 500, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e051200 - I've never seen a watch like this - Ming 29.06 Peep Show.mp4", "id" => "3Y3GZWAyG-s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Y3GZWAyG-s", "playlist_index" => 7, "timestamp" => 1778590811, "title" => "I've never seen a watch like this - Ming 29.06 Peep Show", "upload_date" => "20260512"} 03:54:33.598 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:33.599 [debug] QUERY OK source="sources" db=0.0ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:33.599 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 13:00:11Z], 46] 03:54:33.611 [debug] QUERY OK source="media_items" db=11.3ms idle=101.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fun innovation is still possible.\n\nMusic by \rUnknown Mortal Orchestra + Nils Reine Fiske", "I've never seen a watch like this - Ming 29.06 Peep Show", "f8ca6025-a74c-40f6-92ed-564391efdc33", false, 46, [], 500, false, "3Y3GZWAyG-s", "https://www.youtube.com/watch?v=3Y3GZWAyG-s", 7, "/downloads/YoureTerrific/Season 2026/s2026e051200 - I've never seen a watch like this - Ming 29.06 Peep Show.mp4", false, false, 98, ~U[2026-05-12 13:00:11Z], ~U[2026-08-05 01:54:33Z], ~U[2026-08-05 01:54:33Z], "Fun innovation is still possible.\n\nMusic by \rUnknown Mortal Orchestra + Nils Reine Fiske", "I've never seen a watch like this - Ming 29.06 Peep Show", 46, 500, false, "3Y3GZWAyG-s", "https://www.youtube.com/watch?v=3Y3GZWAyG-s", "/downloads/YoureTerrific/Season 2026/s2026e051200 - I've never seen a watch like this - Ming 29.06 Peep Show.mp4", false, ~U[2026-05-12 13:00:11Z]] 03:54:33.611 [debug] QUERY OK source="sources" db=0.1ms idle=107.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:33.611 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:33.611 [debug] QUERY OK source="media_items" db=0.1ms idle=12.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4949769] 03:54:33.612 [debug] Current batch of media processed. Will check again in 1000ms 03:54:34.612 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A look at the super high accuracy Spring Drive UFA watch from Grand Seiko.\n\nhttps://www.exquisitetimepieces.com/grand-seiko-slgb003-spring-drive-ufa.html", "duration" => 544, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e041100 - 20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003.mp4", "id" => "dplMkHaUS50", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dplMkHaUS50", "playlist_index" => 8, "timestamp" => 1775919656, "title" => "20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003", "upload_date" => "20260411"} 03:54:34.612 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:34.613 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:34.613 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 15:00:56Z], 46] 03:54:34.623 [debug] QUERY OK source="media_items" db=9.9ms idle=114.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the super high accuracy Spring Drive UFA watch from Grand Seiko.\n\nhttps://www.exquisitetimepieces.com/grand-seiko-slgb003-spring-drive-ufa.html", "20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003", "c43bb095-539b-49bd-9539-da7e137b2f74", false, 46, [], 544, false, "dplMkHaUS50", "https://www.youtube.com/watch?v=dplMkHaUS50", 8, "/downloads/YoureTerrific/Season 2026/s2026e041100 - 20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003.mp4", false, false, 98, ~U[2026-04-11 15:00:56Z], ~U[2026-08-05 01:54:34Z], ~U[2026-08-05 01:54:34Z], "A look at the super high accuracy Spring Drive UFA watch from Grand Seiko.\n\nhttps://www.exquisitetimepieces.com/grand-seiko-slgb003-spring-drive-ufa.html", "20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003", 46, 544, false, "dplMkHaUS50", "https://www.youtube.com/watch?v=dplMkHaUS50", "/downloads/YoureTerrific/Season 2026/s2026e041100 - 20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003.mp4", false, ~U[2026-04-11 15:00:56Z]] 03:54:34.624 [debug] QUERY OK source="sources" db=0.2ms idle=119.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:34.624 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:34.624 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4839920] 03:54:34.625 [debug] Current batch of media processed. Will check again in 1000ms 03:54:35.625 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Baltic just came out with one of my favorite complications, a worldtimer. \nhttps://baltic-watches.com/", "duration" => 481, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e033100 - Just announced: Baltic Worldtimer.mp4", "id" => "17jzLH04TUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=17jzLH04TUg", "playlist_index" => 9, "timestamp" => 1774965601, "title" => "Just announced: Baltic Worldtimer", "upload_date" => "20260331"} 03:54:35.625 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:35.626 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:35.626 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.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-31 14:00:01Z], 46] 03:54:35.636 [debug] QUERY OK source="media_items" db=9.8ms idle=126.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Baltic just came out with one of my favorite complications, a worldtimer. \nhttps://baltic-watches.com/", "Just announced: Baltic Worldtimer", "3f4baa19-a81e-4d2d-af02-9f2bfb6dbce2", false, 46, [], 481, false, "17jzLH04TUg", "https://www.youtube.com/watch?v=17jzLH04TUg", 9, "/downloads/YoureTerrific/Season 2026/s2026e033100 - Just announced: Baltic Worldtimer.mp4", false, false, 98, ~U[2026-03-31 14:00:01Z], ~U[2026-08-05 01:54:35Z], ~U[2026-08-05 01:54:35Z], "Baltic just came out with one of my favorite complications, a worldtimer. \nhttps://baltic-watches.com/", "Just announced: Baltic Worldtimer", 46, 481, false, "17jzLH04TUg", "https://www.youtube.com/watch?v=17jzLH04TUg", "/downloads/YoureTerrific/Season 2026/s2026e033100 - Just announced: Baltic Worldtimer.mp4", false, ~U[2026-03-31 14:00:01Z]] 03:54:35.637 [debug] QUERY OK source="sources" db=0.1ms idle=131.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:35.637 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:35.637 [debug] QUERY OK source="media_items" db=0.1ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4801210] 03:54:35.637 [debug] Current batch of media processed. Will check again in 1000ms 03:54:36.638 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The latest watches from Seiko's Speedtimer line. How do we feel about quartz solar Speedtimers?\n\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc965-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc963-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc961-speedtimer.html", "duration" => 531, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e032100 - The New Seiko Speedtimers - SSC961 SSC963 and SSC965.mp4", "id" => "ejQLhjv2xlw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ejQLhjv2xlw", "playlist_index" => 10, "timestamp" => 1774108863, "title" => "The New Seiko Speedtimers - SSC961 SSC963 and SSC965", "upload_date" => "20260321"} 03:54:36.638 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:36.639 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:36.639 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 16:01:03Z], 46] 03:54:36.641 [debug] QUERY OK source="media_items" db=1.3ms idle=138.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The latest watches from Seiko's Speedtimer line. How do we feel about quartz solar Speedtimers?\n\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc965-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc963-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc961-speedtimer.html", "The New Seiko Speedtimers - SSC961 SSC963 and SSC965", "cd261bc4-b67e-4c23-9a9c-542c9b2a28f8", false, 46, [], 531, false, "ejQLhjv2xlw", "https://www.youtube.com/watch?v=ejQLhjv2xlw", 10, "/downloads/YoureTerrific/Season 2026/s2026e032100 - The New Seiko Speedtimers - SSC961 SSC963 and SSC965.mp4", false, false, 98, ~U[2026-03-21 16:01:03Z], ~U[2026-08-05 01:54:36Z], ~U[2026-08-05 01:54:36Z], "The latest watches from Seiko's Speedtimer line. How do we feel about quartz solar Speedtimers?\n\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc965-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc963-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc961-speedtimer.html", "The New Seiko Speedtimers - SSC961 SSC963 and SSC965", 46, 531, false, "ejQLhjv2xlw", "https://www.youtube.com/watch?v=ejQLhjv2xlw", "/downloads/YoureTerrific/Season 2026/s2026e032100 - The New Seiko Speedtimers - SSC961 SSC963 and SSC965.mp4", false, ~U[2026-03-21 16:01:03Z]] 03:54:36.641 [debug] QUERY OK source="sources" db=0.2ms idle=134.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:36.641 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:36.642 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4766140] 03:54:36.642 [debug] Current batch of media processed. Will check again in 1000ms 03:54:37.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "On the Citizen website - https://www.citizenwatch.com/us/en/product/NJ0157-81L.html\nseconde/seconde - https://seconde-seconde.com/", "duration" => 530, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e030300 - Slice! Citizen × seconde⧸seconde⧸ Tsuyosa Limited Edition.mp4", "id" => "LuL8ivbcyxc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LuL8ivbcyxc", "playlist_index" => 11, "timestamp" => 1772557227, "title" => "Slice! Citizen × seconde/seconde/ Tsuyosa Limited Edition", "upload_date" => "20260303"} 03:54:37.642 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:37.643 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:37.643 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.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-03 17:00:27Z], 46] 03:54:37.653 [debug] QUERY OK source="media_items" db=9.8ms idle=141.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["On the Citizen website - https://www.citizenwatch.com/us/en/product/NJ0157-81L.html\nseconde/seconde - https://seconde-seconde.com/", "Slice! Citizen × seconde/seconde/ Tsuyosa Limited Edition", "ea8e86fe-415f-4952-a89c-8d10fdc75180", false, 46, [], 530, false, "LuL8ivbcyxc", "https://www.youtube.com/watch?v=LuL8ivbcyxc", 11, "/downloads/YoureTerrific/Season 2026/s2026e030300 - Slice! Citizen × seconde⧸seconde⧸ Tsuyosa Limited Edition.mp4", false, false, 98, ~U[2026-03-03 17:00:27Z], ~U[2026-08-05 01:54:37Z], ~U[2026-08-05 01:54:37Z], "On the Citizen website - https://www.citizenwatch.com/us/en/product/NJ0157-81L.html\nseconde/seconde - https://seconde-seconde.com/", "Slice! Citizen × seconde/seconde/ Tsuyosa Limited Edition", 46, 530, false, "LuL8ivbcyxc", "https://www.youtube.com/watch?v=LuL8ivbcyxc", "/downloads/YoureTerrific/Season 2026/s2026e030300 - Slice! Citizen × seconde⧸seconde⧸ Tsuyosa Limited Edition.mp4", false, ~U[2026-03-03 17:00:27Z]] 03:54:37.653 [debug] QUERY OK source="sources" db=0.1ms idle=146.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:37.654 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:37.654 [debug] QUERY OK source="media_items" db=0.1ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4704746] 03:54:37.654 [debug] Current batch of media processed. Will check again in 1000ms 03:54:38.655 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The latest watch from Traska is the brands first chronograph and it's worth paying attention to.\n\nhttps://www.traskawatch.com/products/chronograph-tungsten-gray", "duration" => 497, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e022400 - Better than Seiko: the Traska Chronograph.mp4", "id" => "aY0g7htH_28", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aY0g7htH_28", "playlist_index" => 12, "timestamp" => 1771952403, "title" => "Better than Seiko: the Traska Chronograph", "upload_date" => "20260224"} 03:54:38.655 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:38.656 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:38.656 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 17:00:03Z], 46] 03:54:38.666 [debug] QUERY OK source="media_items" db=9.6ms idle=153.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The latest watch from Traska is the brands first chronograph and it's worth paying attention to.\n\nhttps://www.traskawatch.com/products/chronograph-tungsten-gray", "Better than Seiko: the Traska Chronograph", "18684042-cec3-4dad-9c3e-6c93c481db5d", false, 46, [], 497, false, "aY0g7htH_28", "https://www.youtube.com/watch?v=aY0g7htH_28", 12, "/downloads/YoureTerrific/Season 2026/s2026e022400 - Better than Seiko: the Traska Chronograph.mp4", false, false, 98, ~U[2026-02-24 17:00:03Z], ~U[2026-08-05 01:54:38Z], ~U[2026-08-05 01:54:38Z], "The latest watch from Traska is the brands first chronograph and it's worth paying attention to.\n\nhttps://www.traskawatch.com/products/chronograph-tungsten-gray", "Better than Seiko: the Traska Chronograph", 46, 497, false, "aY0g7htH_28", "https://www.youtube.com/watch?v=aY0g7htH_28", "/downloads/YoureTerrific/Season 2026/s2026e022400 - Better than Seiko: the Traska Chronograph.mp4", false, ~U[2026-02-24 17:00:03Z]] 03:54:38.666 [debug] QUERY OK source="sources" db=0.1ms idle=157.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:38.666 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:38.667 [debug] QUERY OK source="media_items" db=0.1ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4680645] 03:54:38.667 [debug] Current batch of media processed. Will check again in 1000ms 03:54:39.668 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://www.girard-perregaux.com/usa_en/39800-21-3199-6cm.html", "duration" => 420, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e021700 - Cool and confusing: Girard-Perregaux Casquette 2.0.mp4", "id" => "BLO-ixqLAec", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BLO-ixqLAec", "playlist_index" => 13, "timestamp" => 1771344021, "title" => "Cool and confusing: Girard-Perregaux Casquette 2.0", "upload_date" => "20260217"} 03:54:39.668 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:39.669 [debug] QUERY OK source="sources" db=0.0ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:39.669 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 16:00:21Z], 46] 03:54:39.679 [debug] QUERY OK source="media_items" db=9.7ms idle=165.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.girard-perregaux.com/usa_en/39800-21-3199-6cm.html", "Cool and confusing: Girard-Perregaux Casquette 2.0", "edee55b1-702c-48df-a7ab-e1080d5fd65c", false, 46, [], 420, false, "BLO-ixqLAec", "https://www.youtube.com/watch?v=BLO-ixqLAec", 13, "/downloads/YoureTerrific/Season 2026/s2026e021700 - Cool and confusing: Girard-Perregaux Casquette 2.0.mp4", false, false, 98, ~U[2026-02-17 16:00:21Z], ~U[2026-08-05 01:54:39Z], ~U[2026-08-05 01:54:39Z], "https://www.girard-perregaux.com/usa_en/39800-21-3199-6cm.html", "Cool and confusing: Girard-Perregaux Casquette 2.0", 46, 420, false, "BLO-ixqLAec", "https://www.youtube.com/watch?v=BLO-ixqLAec", "/downloads/YoureTerrific/Season 2026/s2026e021700 - Cool and confusing: Girard-Perregaux Casquette 2.0.mp4", false, ~U[2026-02-17 16:00:21Z]] 03:54:39.679 [debug] QUERY OK source="sources" db=0.1ms idle=169.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:39.680 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:39.680 [debug] QUERY OK source="media_items" db=0.1ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4656912] 03:54:39.680 [debug] Current batch of media processed. Will check again in 1000ms 03:54:40.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TUDOR Pelagos FXD GMT M2542G257NU-0002 https://www.exquisitetimepieces.com/tudor-m2542g247nu-0002-pelagos-fxd-gmt.html", "duration" => 471, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e020300 - Tudor Pelagos FXD GMT. How is it?.mp4", "id" => "xfbafcR7MHE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xfbafcR7MHE", "playlist_index" => 14, "timestamp" => 1770138093, "title" => "Tudor Pelagos FXD GMT. How is it?", "upload_date" => "20260203"} 03:54:40.681 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:40.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:40.682 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 17:01:33Z], 46] 03:54:40.693 [debug] QUERY OK source="media_items" db=9.8ms idle=178.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TUDOR Pelagos FXD GMT M2542G257NU-0002 https://www.exquisitetimepieces.com/tudor-m2542g247nu-0002-pelagos-fxd-gmt.html", "Tudor Pelagos FXD GMT. How is it?", "3c146c26-14fb-4c6f-9cad-33d037d2f3b5", false, 46, [], 471, false, "xfbafcR7MHE", "https://www.youtube.com/watch?v=xfbafcR7MHE", 14, "/downloads/YoureTerrific/Season 2026/s2026e020300 - Tudor Pelagos FXD GMT. How is it?.mp4", false, false, 98, ~U[2026-02-03 17:01:33Z], ~U[2026-08-05 01:54:40Z], ~U[2026-08-05 01:54:40Z], "TUDOR Pelagos FXD GMT M2542G257NU-0002 https://www.exquisitetimepieces.com/tudor-m2542g247nu-0002-pelagos-fxd-gmt.html", "Tudor Pelagos FXD GMT. How is it?", 46, 471, false, "xfbafcR7MHE", "https://www.youtube.com/watch?v=xfbafcR7MHE", "/downloads/YoureTerrific/Season 2026/s2026e020300 - Tudor Pelagos FXD GMT. How is it?.mp4", false, ~U[2026-02-03 17:01:33Z]] 03:54:40.693 [debug] QUERY OK source="sources" db=0.2ms idle=182.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:40.693 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:40.694 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4610230] 03:54:40.694 [debug] Current batch of media processed. Will check again in 1000ms 03:54:41.694 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Twelve 660. The C12 Loco. And the C1 Bel Canto Lumière.", "duration" => 494, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e012200 - Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière.mp4", "id" => "JJHFI8OthjU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JJHFI8OthjU", "playlist_index" => 15, "timestamp" => 1769101225, "title" => "Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière", "upload_date" => "20260122"} 03:54:41.694 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:41.695 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:41.695 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 17:00:25Z], 46] 03:54:41.706 [debug] QUERY OK source="media_items" db=9.7ms idle=190.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Twelve 660. The C12 Loco. And the C1 Bel Canto Lumière.", "Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière", "a50ad0e7-e3e2-4367-ba2c-16ae44fd2bd3", false, 46, [], 494, false, "JJHFI8OthjU", "https://www.youtube.com/watch?v=JJHFI8OthjU", 15, "/downloads/YoureTerrific/Season 2026/s2026e012200 - Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière.mp4", false, false, 98, ~U[2026-01-22 17:00:25Z], ~U[2026-08-05 01:54:41Z], ~U[2026-08-05 01:54:41Z], "The Twelve 660. The C12 Loco. And the C1 Bel Canto Lumière.", "Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière", 46, 494, false, "JJHFI8OthjU", "https://www.youtube.com/watch?v=JJHFI8OthjU", "/downloads/YoureTerrific/Season 2026/s2026e012200 - Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière.mp4", false, ~U[2026-01-22 17:00:25Z]] 03:54:41.706 [debug] QUERY OK source="sources" db=0.2ms idle=194.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:41.706 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:41.707 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4571053] 03:54:41.707 [debug] Current batch of media processed. Will check again in 1000ms 03:54:42.707 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watches covered:\nTAG Heuer Formula 1 Solargraph\nVacheron Constantin Overseas (Ref. 4520V)\nRolex Submariner \"Kermit\" (Ref. 16610LV)\nHublot Big Bang Meca-10 Titanium\nNomos Club Sport Neomatik Worldtimer \"Trace\"\nAtowak Tarantula\nOmega Speedmaster 125\nChopard L.U.C XPS Forest Green\nVintage Peanuts / Snoopy Watch\nOmega Seamaster Ploprof 1200M\n\nSpeedmaster 125 for sale: https://artofthewatch.com/speedy125/", "duration" => 564, "filename" => "/downloads/YoureTerrific/Season 2026/s2026e011300 - Even More Watches I Saw at a Watch Meetup.mp4", "id" => "QIWoKiqpuRc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QIWoKiqpuRc", "playlist_index" => 16, "timestamp" => 1768323648, "title" => "Even More Watches I Saw at a Watch Meetup", "upload_date" => "20260113"} 03:54:42.707 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:42.708 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:42.708 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 17:00:48Z], 46] 03:54:42.718 [debug] QUERY OK source="media_items" db=9.8ms idle=201.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Watches covered:\nTAG Heuer Formula 1 Solargraph\nVacheron Constantin Overseas (Ref. 4520V)\nRolex Submariner \"Kermit\" (Ref. 16610LV)\nHublot Big Bang Meca-10 Titanium\nNomos Club Sport Neomatik Worldtimer \"Trace\"\nAtowak Tarantula\nOmega Speedmaster 125\nChopard L.U.C XPS Forest Green\nVintage Peanuts / Snoopy Watch\nOmega Seamaster Ploprof 1200M\n\nSpeedmaster 125 for sale: https://artofthewatch.com/speedy125/", "Even More Watches I Saw at a Watch Meetup", "a42a4d56-fef2-4982-8ddd-5af7fa92c262", false, 46, [], 564, false, "QIWoKiqpuRc", "https://www.youtube.com/watch?v=QIWoKiqpuRc", 16, "/downloads/YoureTerrific/Season 2026/s2026e011300 - Even More Watches I Saw at a Watch Meetup.mp4", false, false, 98, ~U[2026-01-13 17:00:48Z], ~U[2026-08-05 01:54:42Z], ~U[2026-08-05 01:54:42Z], "Watches covered:\nTAG Heuer Formula 1 Solargraph\nVacheron Constantin Overseas (Ref. 4520V)\nRolex Submariner \"Kermit\" (Ref. 16610LV)\nHublot Big Bang Meca-10 Titanium\nNomos Club Sport Neomatik Worldtimer \"Trace\"\nAtowak Tarantula\nOmega Speedmaster 125\nChopard L.U.C XPS Forest Green\nVintage Peanuts / Snoopy Watch\nOmega Seamaster Ploprof 1200M\n\nSpeedmaster 125 for sale: https://artofthewatch.com/speedy125/", "Even More Watches I Saw at a Watch Meetup", 46, 564, false, "QIWoKiqpuRc", "https://www.youtube.com/watch?v=QIWoKiqpuRc", "/downloads/YoureTerrific/Season 2026/s2026e011300 - Even More Watches I Saw at a Watch Meetup.mp4", false, ~U[2026-01-13 17:00:48Z]] 03:54:42.719 [debug] QUERY OK source="sources" db=0.1ms idle=206.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:42.719 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:42.719 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4541562] 03:54:42.719 [debug] Current batch of media processed. Will check again in 1000ms 03:54:43.720 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Omega has finally redesigned the Seamaster Planet Ocean watches and there's a lot to talk about.\n\nhttps://www.omegawatches.com/en-us/watch-omega-seamaster-planet-ocean-600m-co-axial-master-chronometer-42-mm-21730422101003", "duration" => 642, "filename" => "/downloads/YoureTerrific/Season 2025/s2025e122300 - The 4th Generation Omega Planet Ocean.mp4", "id" => "hiZQKbxFwqI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hiZQKbxFwqI", "playlist_index" => 17, "timestamp" => 1766509279, "title" => "The 4th Generation Omega Planet Ocean", "upload_date" => "20251223"} 03:54:43.721 [debug] QUERY OK source="sources" db=0.2ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:43.721 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:43.722 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 17:01:19Z], 46] 03:54:43.732 [debug] QUERY OK source="media_items" db=9.6ms idle=214.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Omega has finally redesigned the Seamaster Planet Ocean watches and there's a lot to talk about.\n\nhttps://www.omegawatches.com/en-us/watch-omega-seamaster-planet-ocean-600m-co-axial-master-chronometer-42-mm-21730422101003", "The 4th Generation Omega Planet Ocean", "3b327b7a-1ba1-4cfc-9038-1cfc17980806", false, 46, [], 642, false, "hiZQKbxFwqI", "https://www.youtube.com/watch?v=hiZQKbxFwqI", 17, "/downloads/YoureTerrific/Season 2025/s2025e122300 - The 4th Generation Omega Planet Ocean.mp4", false, false, 98, ~U[2025-12-23 17:01:19Z], ~U[2026-08-05 01:54:43Z], ~U[2026-08-05 01:54:43Z], "Omega has finally redesigned the Seamaster Planet Ocean watches and there's a lot to talk about.\n\nhttps://www.omegawatches.com/en-us/watch-omega-seamaster-planet-ocean-600m-co-axial-master-chronometer-42-mm-21730422101003", "The 4th Generation Omega Planet Ocean", 46, 642, false, "hiZQKbxFwqI", "https://www.youtube.com/watch?v=hiZQKbxFwqI", "/downloads/YoureTerrific/Season 2025/s2025e122300 - The 4th Generation Omega Planet Ocean.mp4", false, ~U[2025-12-23 17:01:19Z]] 03:54:43.732 [debug] QUERY OK source="sources" db=0.1ms idle=218.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:43.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:43.733 [debug] QUERY OK source="media_items" db=0.1ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4473144] 03:54:43.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A look at the new 50-piece limited edition collaboration\nhttps://topperjewelers.com/", "duration" => 383, "filename" => "/downloads/YoureTerrific/Season 2025/s2025e121200 - "Bioluminescence" Topper Zenith DEFY Extreme Diver.mp4", "id" => "Hi_ppLq2ZBo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hi_ppLq2ZBo", "playlist_index" => 18, "timestamp" => 1765558828, "title" => "\"Bioluminescence\" Topper Zenith DEFY Extreme Diver", "upload_date" => "20251212"} 03:54:43.733 [debug] QUERY OK source="sources" db=0.1ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:43.733 [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" = ?) [46] 03:54:43.734 [debug] QUERY OK source="media_items" db=0.3ms idle=1.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 17:00:28Z], 46] 03:54:43.734 [debug] QUERY OK source="media_items" db=0.6ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the new 50-piece limited edition collaboration\nhttps://topperjewelers.com/", "\"Bioluminescence\" Topper Zenith DEFY Extreme Diver", "ca843316-cb4a-4aba-b59f-888b5b69fedb", false, 46, [], 383, false, "Hi_ppLq2ZBo", "https://www.youtube.com/watch?v=Hi_ppLq2ZBo", 18, "/downloads/YoureTerrific/Season 2025/s2025e121200 - "Bioluminescence" Topper Zenith DEFY Extreme Diver.mp4", false, false, 98, ~U[2025-12-12 17:00:28Z], ~U[2026-08-05 01:54:43Z], ~U[2026-08-05 01:54:43Z], "A look at the new 50-piece limited edition collaboration\nhttps://topperjewelers.com/", "\"Bioluminescence\" Topper Zenith DEFY Extreme Diver", 46, 383, false, "Hi_ppLq2ZBo", "https://www.youtube.com/watch?v=Hi_ppLq2ZBo", "/downloads/YoureTerrific/Season 2025/s2025e121200 - "Bioluminescence" Topper Zenith DEFY Extreme Diver.mp4", false, ~U[2025-12-12 17:00:28Z]] 03:54:43.735 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:43.735 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:43.735 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4437666] 03:54:43.735 [debug] Current batch of media processed. Will check again in 1000ms 03:54:44.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://www.exquisitetimepieces.com/seiko-prospex-spb503-alpinist-turquoise-dial.html\n\nSeiko has redesigned the beloved Seiko Alpinist and released the SPB503, SPB505, and SPB507.", "duration" => 432, "filename" => "/downloads/YoureTerrific/Season 2025/s2025e120400 - The New Generation of Seiko Alpinist.mp4", "id" => "dFg1W0gEBtk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFg1W0gEBtk", "playlist_index" => 19, "timestamp" => 1764867676, "title" => "The New Generation of Seiko Alpinist", "upload_date" => "20251204"} 03:54:44.737 [debug] QUERY OK source="sources" db=0.2ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:44.737 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:44.738 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 17:01:16Z], 46] 03:54:44.748 [debug] QUERY OK source="media_items" db=10.0ms idle=229.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.exquisitetimepieces.com/seiko-prospex-spb503-alpinist-turquoise-dial.html\n\nSeiko has redesigned the beloved Seiko Alpinist and released the SPB503, SPB505, and SPB507.", "The New Generation of Seiko Alpinist", "4300b75a-8df6-4411-b97d-20f684c38c19", false, 46, [], 432, false, "dFg1W0gEBtk", "https://www.youtube.com/watch?v=dFg1W0gEBtk", 19, "/downloads/YoureTerrific/Season 2025/s2025e120400 - The New Generation of Seiko Alpinist.mp4", false, false, 98, ~U[2025-12-04 17:01:16Z], ~U[2026-08-05 01:54:44Z], ~U[2026-08-05 01:54:44Z], "https://www.exquisitetimepieces.com/seiko-prospex-spb503-alpinist-turquoise-dial.html\n\nSeiko has redesigned the beloved Seiko Alpinist and released the SPB503, SPB505, and SPB507.", "The New Generation of Seiko Alpinist", 46, 432, false, "dFg1W0gEBtk", "https://www.youtube.com/watch?v=dFg1W0gEBtk", "/downloads/YoureTerrific/Season 2025/s2025e120400 - The New Generation of Seiko Alpinist.mp4", false, ~U[2025-12-04 17:01:16Z]] 03:54:44.748 [debug] QUERY OK source="sources" db=0.2ms idle=233.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:44.749 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:44.749 [debug] QUERY OK source="media_items" db=0.2ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4412050] 03:54:44.749 [debug] Current batch of media processed. Will check again in 1000ms 03:54:45.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A look at the GP Fifty, the Laureato with the new GP4800 movement and celebrating the 50th anniversary of Laureato watch.\n\nhttps://www.girard-perregaux.com/row_en/81008-63-3412-1cm.html", "duration" => 411, "filename" => "/downloads/YoureTerrific/Season 2025/s2025e112000 - New - Girard-Perregaux Laureato Fifty.mp4", "id" => "JerH6ldqY3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JerH6ldqY3Q", "playlist_index" => 20, "timestamp" => 1763658028, "title" => "New - Girard-Perregaux Laureato Fifty", "upload_date" => "20251120"} 03:54:45.751 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:45.751 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.752 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 17:00:28Z], 46] 03:54:45.762 [debug] QUERY OK source="media_items" db=9.9ms idle=242.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the GP Fifty, the Laureato with the new GP4800 movement and celebrating the 50th anniversary of Laureato watch.\n\nhttps://www.girard-perregaux.com/row_en/81008-63-3412-1cm.html", "New - Girard-Perregaux Laureato Fifty", "8edce4b9-91bd-48bf-a2a0-bfd1689e6ef0", false, 46, [], 411, false, "JerH6ldqY3Q", "https://www.youtube.com/watch?v=JerH6ldqY3Q", 20, "/downloads/YoureTerrific/Season 2025/s2025e112000 - New - Girard-Perregaux Laureato Fifty.mp4", false, false, 98, ~U[2025-11-20 17:00:28Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "A look at the GP Fifty, the Laureato with the new GP4800 movement and celebrating the 50th anniversary of Laureato watch.\n\nhttps://www.girard-perregaux.com/row_en/81008-63-3412-1cm.html", "New - Girard-Perregaux Laureato Fifty", 46, 411, false, "JerH6ldqY3Q", "https://www.youtube.com/watch?v=JerH6ldqY3Q", "/downloads/YoureTerrific/Season 2025/s2025e112000 - New - Girard-Perregaux Laureato Fifty.mp4", false, ~U[2025-11-20 17:00:28Z]] 03:54:45.762 [debug] QUERY OK source="sources" db=0.1ms idle=245.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.763 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:54:45.763 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4366978] 03:54:45.763 [debug] Current batch of media processed. Will check again in 1000ms 03:54:45.781 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@youreterrific?si=7FhtvCrW9AUj78fk --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/YoureTerrific/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b1/1f/b11fb1975599707fab7b5dc4f441ea7406c793aa8cb9e9ce3403ce68f7b7737d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1e/b4/1eb4043a6fe4acb4c258c35a6c33ca5ead71d52b453750e08da3d9a45af2377e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 03:54:45.782 [debug] Gracefully stopping file follower 03:54:45.782 [debug] QUERY OK source="sources" db=0.3ms idle=30.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 03:54:45.783 [debug] QUERY OK source="sources" db=0.1ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.783 [debug] QUERY OK source="media_items" db=0.5ms idle=20.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 16:00:08Z], 46] 03:54:45.784 [debug] QUERY OK source="media_items" db=0.4ms idle=20.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Watch. Big watch.\n\nhttps://topperjewelers.com/collections/omega-watches/products/omega-210-32-44-51-01-002", "Omega Seamaster James Bond First Light 007", "a10f1cb5-ba7b-4fed-95ba-54d773c971cf", false, 46, [], 510, false, "LFzfKmPsyrs", "https://www.youtube.com/watch?v=LFzfKmPsyrs", 1, "/downloads/YoureTerrific/Season 2026/s2026e072800 - Omega Seamaster James Bond First Light 007.mp4", false, false, 98, ~U[2026-07-28 16:00:08Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Watch. Big watch.\n\nhttps://topperjewelers.com/collections/omega-watches/products/omega-210-32-44-51-01-002", "Omega Seamaster James Bond First Light 007", 46, 510, false, "LFzfKmPsyrs", "https://www.youtube.com/watch?v=LFzfKmPsyrs", "/downloads/YoureTerrific/Season 2026/s2026e072800 - Omega Seamaster James Bond First Light 007.mp4", false, ~U[2026-07-28 16:00:08Z]] 03:54:45.784 [debug] QUERY OK source="sources" db=0.1ms idle=21.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.785 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 16:00:39Z], 46] 03:54:45.786 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Citizen turned the popular Tsuyosa watches into dive watches... sort of.\n\nhttps://www.citizenwatch.com/us/en/product/NJ0230-59L\nhttps://www.citizenwatch.com/us/en/product/NJ0232-53X", "The Citizen Tsuyosa SHORE", "ec1a7cec-0f39-4f32-8ec6-47a1382e1f39", false, 46, [], 558, false, "y8Q2EQe-FoM", "https://www.youtube.com/watch?v=y8Q2EQe-FoM", 2, "/downloads/YoureTerrific/Season 2026/s2026e072100 - The Citizen Tsuyosa SHORE.mp4", false, false, 98, ~U[2026-07-21 16:00:39Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Citizen turned the popular Tsuyosa watches into dive watches... sort of.\n\nhttps://www.citizenwatch.com/us/en/product/NJ0230-59L\nhttps://www.citizenwatch.com/us/en/product/NJ0232-53X", "The Citizen Tsuyosa SHORE", 46, 558, false, "y8Q2EQe-FoM", "https://www.youtube.com/watch?v=y8Q2EQe-FoM", "/downloads/YoureTerrific/Season 2026/s2026e072100 - The Citizen Tsuyosa SHORE.mp4", false, ~U[2026-07-21 16:00:39Z]] 03:54:45.786 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.787 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 15:00:08Z], 46] 03:54:45.788 [debug] QUERY OK source="media_items" db=1.1ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.zenith-watches.com/en_us/product/chronomaster-revival-03-us384-2-400-69-m384\n\nZenith celebrates the USA's 250th birthday with an El Primero", "The Patriotic Zenith Chronomaster Liberty II 🇺🇸", "fc2754be-8cc2-46bf-aa28-baa0c58a2490", false, 46, [], 490, false, "1jWm_KYyXp8", "https://www.youtube.com/watch?v=1jWm_KYyXp8", 3, "/downloads/YoureTerrific/Season 2026/s2026e071200 - The Patriotic Zenith Chronomaster Liberty II 🇺🇸.mp4", false, false, 98, ~U[2026-07-12 15:00:08Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "https://www.zenith-watches.com/en_us/product/chronomaster-revival-03-us384-2-400-69-m384\n\nZenith celebrates the USA's 250th birthday with an El Primero", "The Patriotic Zenith Chronomaster Liberty II 🇺🇸", 46, 490, false, "1jWm_KYyXp8", "https://www.youtube.com/watch?v=1jWm_KYyXp8", "/downloads/YoureTerrific/Season 2026/s2026e071200 - The Patriotic Zenith Chronomaster Liberty II 🇺🇸.mp4", false, ~U[2026-07-12 15:00:08Z]] 03:54:45.789 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.789 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 15:00:30Z], 46] 03:54:45.790 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.exquisitetimepieces.com/longines-hydroconquest-l37794066.html\n\nDo I get it? Do you get it?", "Why are people excited about this watch? The new Longines Hydroconquest", "5e03a442-a469-4544-882e-73e8c5afe155", false, 46, [], 618, false, "tekORFynqO8", "https://www.youtube.com/watch?v=tekORFynqO8", 4, "/downloads/YoureTerrific/Season 2026/s2026e062300 - Why are people excited about this watch? The new Longines Hydroconquest.mp4", false, false, 98, ~U[2026-06-23 15:00:30Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "https://www.exquisitetimepieces.com/longines-hydroconquest-l37794066.html\n\nDo I get it? Do you get it?", "Why are people excited about this watch? The new Longines Hydroconquest", 46, 618, false, "tekORFynqO8", "https://www.youtube.com/watch?v=tekORFynqO8", "/downloads/YoureTerrific/Season 2026/s2026e062300 - Why are people excited about this watch? The new Longines Hydroconquest.mp4", false, ~U[2026-06-23 15:00:30Z]] 03:54:45.790 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.791 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 15:00:31Z], 46] 03:54:45.792 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the limited edition collaboration between two Parisian watchmakers.\n\nMore info here: https://baltic-spaceone.com/", "All gone - Baltic x SpaceOne Seconde Majeure", "3b838906-6019-4cbd-bced-f7a9d330ea00", false, 46, [], 547, false, "YHoHP4j9DZQ", "https://www.youtube.com/watch?v=YHoHP4j9DZQ", 5, "/downloads/YoureTerrific/Season 2026/s2026e053100 - All gone - Baltic x SpaceOne Seconde Majeure.mp4", false, false, 98, ~U[2026-05-31 15:00:31Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "A look at the limited edition collaboration between two Parisian watchmakers.\n\nMore info here: https://baltic-spaceone.com/", "All gone - Baltic x SpaceOne Seconde Majeure", 46, 547, false, "YHoHP4j9DZQ", "https://www.youtube.com/watch?v=YHoHP4j9DZQ", "/downloads/YoureTerrific/Season 2026/s2026e053100 - All gone - Baltic x SpaceOne Seconde Majeure.mp4", false, ~U[2026-05-31 15:00:31Z]] 03:54:45.792 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.793 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 16:01:16Z], 46] 03:54:45.793 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This one - https://www.casio.com/us/watches/casio/product.LA-20WH-8A/\n\nAlso, don't pretend you're buying a watch for your kid when it's really for you.", "I bought a Casio LA20WH - It’s a kid’s watch", "d7db71f2-26a7-46c8-bfb6-9f0b6b25b181", false, 46, [], 339, false, "ubA_GkJF7gY", "https://www.youtube.com/watch?v=ubA_GkJF7gY", 6, "/downloads/YoureTerrific/Season 2026/s2026e051900 - I bought a Casio LA20WH - It’s a kid’s watch.mp4", false, false, 98, ~U[2026-05-19 16:01:16Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "This one - https://www.casio.com/us/watches/casio/product.LA-20WH-8A/\n\nAlso, don't pretend you're buying a watch for your kid when it's really for you.", "I bought a Casio LA20WH - It’s a kid’s watch", 46, 339, false, "ubA_GkJF7gY", "https://www.youtube.com/watch?v=ubA_GkJF7gY", "/downloads/YoureTerrific/Season 2026/s2026e051900 - I bought a Casio LA20WH - It’s a kid’s watch.mp4", false, ~U[2026-05-19 16:01:16Z]] 03:54:45.794 [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" = ?) [46] 03:54:45.794 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 13:00:11Z], 46] 03:54:45.795 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fun innovation is still possible.\n\nMusic by \rUnknown Mortal Orchestra + Nils Reine Fiske", "I've never seen a watch like this - Ming 29.06 Peep Show", "d6abfb0f-7df3-4b56-bb83-87116d13cf6e", false, 46, [], 500, false, "3Y3GZWAyG-s", "https://www.youtube.com/watch?v=3Y3GZWAyG-s", 7, "/downloads/YoureTerrific/Season 2026/s2026e051200 - I've never seen a watch like this - Ming 29.06 Peep Show.mp4", false, false, 98, ~U[2026-05-12 13:00:11Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Fun innovation is still possible.\n\nMusic by \rUnknown Mortal Orchestra + Nils Reine Fiske", "I've never seen a watch like this - Ming 29.06 Peep Show", 46, 500, false, "3Y3GZWAyG-s", "https://www.youtube.com/watch?v=3Y3GZWAyG-s", "/downloads/YoureTerrific/Season 2026/s2026e051200 - I've never seen a watch like this - Ming 29.06 Peep Show.mp4", false, ~U[2026-05-12 13:00:11Z]] 03:54:45.795 [debug] QUERY OK source="sources" db=0.2ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.795 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 15:00:56Z], 46] 03:54:45.796 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the super high accuracy Spring Drive UFA watch from Grand Seiko.\n\nhttps://www.exquisitetimepieces.com/grand-seiko-slgb003-spring-drive-ufa.html", "20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003", "ad3ffaa9-f69b-44d3-b222-dd72b01a26a8", false, 46, [], 544, false, "dplMkHaUS50", "https://www.youtube.com/watch?v=dplMkHaUS50", 8, "/downloads/YoureTerrific/Season 2026/s2026e041100 - 20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003.mp4", false, false, 98, ~U[2026-04-11 15:00:56Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "A look at the super high accuracy Spring Drive UFA watch from Grand Seiko.\n\nhttps://www.exquisitetimepieces.com/grand-seiko-slgb003-spring-drive-ufa.html", "20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003", 46, 544, false, "dplMkHaUS50", "https://www.youtube.com/watch?v=dplMkHaUS50", "/downloads/YoureTerrific/Season 2026/s2026e041100 - 20 Seconds Per Year: Grand Seiko UFA Ice Forest SLGB003.mp4", false, ~U[2026-04-11 15:00:56Z]] 03:54:45.796 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.797 [debug] QUERY OK source="media_items" db=0.2ms idle=1.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 14:00:01Z], 46] 03:54:45.797 [debug] QUERY OK source="media_items" db=0.4ms idle=1.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Baltic just came out with one of my favorite complications, a worldtimer. \nhttps://baltic-watches.com/", "Just announced: Baltic Worldtimer", "0e026225-b8f6-4fac-90a7-3484428d0245", false, 46, [], 481, false, "17jzLH04TUg", "https://www.youtube.com/watch?v=17jzLH04TUg", 9, "/downloads/YoureTerrific/Season 2026/s2026e033100 - Just announced: Baltic Worldtimer.mp4", false, false, 98, ~U[2026-03-31 14:00:01Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Baltic just came out with one of my favorite complications, a worldtimer. \nhttps://baltic-watches.com/", "Just announced: Baltic Worldtimer", 46, 481, false, "17jzLH04TUg", "https://www.youtube.com/watch?v=17jzLH04TUg", "/downloads/YoureTerrific/Season 2026/s2026e033100 - Just announced: Baltic Worldtimer.mp4", false, ~U[2026-03-31 14:00:01Z]] 03:54:45.797 [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" = ?) [46] 03:54:45.798 [debug] QUERY OK source="media_items" db=0.3ms idle=1.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 16:01:03Z], 46] 03:54:45.798 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The latest watches from Seiko's Speedtimer line. How do we feel about quartz solar Speedtimers?\n\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc965-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc963-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc961-speedtimer.html", "The New Seiko Speedtimers - SSC961 SSC963 and SSC965", "ec5599e8-b684-4db1-a5eb-25ccdfb9bf53", false, 46, [], 531, false, "ejQLhjv2xlw", "https://www.youtube.com/watch?v=ejQLhjv2xlw", 10, "/downloads/YoureTerrific/Season 2026/s2026e032100 - The New Seiko Speedtimers - SSC961 SSC963 and SSC965.mp4", false, false, 98, ~U[2026-03-21 16:01:03Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "The latest watches from Seiko's Speedtimer line. How do we feel about quartz solar Speedtimers?\n\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc965-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc963-speedtimer.html\nhttps://www.exquisitetimepieces.com/seiko-prospex-ssc961-speedtimer.html", "The New Seiko Speedtimers - SSC961 SSC963 and SSC965", 46, 531, false, "ejQLhjv2xlw", "https://www.youtube.com/watch?v=ejQLhjv2xlw", "/downloads/YoureTerrific/Season 2026/s2026e032100 - The New Seiko Speedtimers - SSC961 SSC963 and SSC965.mp4", false, ~U[2026-03-21 16:01:03Z]] 03:54:45.799 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.799 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 17:00:27Z], 46] 03:54:45.800 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["On the Citizen website - https://www.citizenwatch.com/us/en/product/NJ0157-81L.html\nseconde/seconde - https://seconde-seconde.com/", "Slice! Citizen × seconde/seconde/ Tsuyosa Limited Edition", "4c7eaef3-26f0-41e3-b944-5391f2a6b0b6", false, 46, [], 530, false, "LuL8ivbcyxc", "https://www.youtube.com/watch?v=LuL8ivbcyxc", 11, "/downloads/YoureTerrific/Season 2026/s2026e030300 - Slice! Citizen × seconde⧸seconde⧸ Tsuyosa Limited Edition.mp4", false, false, 98, ~U[2026-03-03 17:00:27Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "On the Citizen website - https://www.citizenwatch.com/us/en/product/NJ0157-81L.html\nseconde/seconde - https://seconde-seconde.com/", "Slice! Citizen × seconde/seconde/ Tsuyosa Limited Edition", 46, 530, false, "LuL8ivbcyxc", "https://www.youtube.com/watch?v=LuL8ivbcyxc", "/downloads/YoureTerrific/Season 2026/s2026e030300 - Slice! Citizen × seconde⧸seconde⧸ Tsuyosa Limited Edition.mp4", false, ~U[2026-03-03 17:00:27Z]] 03:54:45.800 [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" = ?) [46] 03:54:45.801 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 17:00:03Z], 46] 03:54:45.801 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The latest watch from Traska is the brands first chronograph and it's worth paying attention to.\n\nhttps://www.traskawatch.com/products/chronograph-tungsten-gray", "Better than Seiko: the Traska Chronograph", "a1f1c3ce-3f3c-49c3-82e0-0f97b9d327cc", false, 46, [], 497, false, "aY0g7htH_28", "https://www.youtube.com/watch?v=aY0g7htH_28", 12, "/downloads/YoureTerrific/Season 2026/s2026e022400 - Better than Seiko: the Traska Chronograph.mp4", false, false, 98, ~U[2026-02-24 17:00:03Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "The latest watch from Traska is the brands first chronograph and it's worth paying attention to.\n\nhttps://www.traskawatch.com/products/chronograph-tungsten-gray", "Better than Seiko: the Traska Chronograph", 46, 497, false, "aY0g7htH_28", "https://www.youtube.com/watch?v=aY0g7htH_28", "/downloads/YoureTerrific/Season 2026/s2026e022400 - Better than Seiko: the Traska Chronograph.mp4", false, ~U[2026-02-24 17:00:03Z]] 03:54:45.802 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.802 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 16:00:21Z], 46] 03:54:45.803 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.girard-perregaux.com/usa_en/39800-21-3199-6cm.html", "Cool and confusing: Girard-Perregaux Casquette 2.0", "2e23593e-6ee3-47eb-91d8-9fd6606c3011", false, 46, [], 420, false, "BLO-ixqLAec", "https://www.youtube.com/watch?v=BLO-ixqLAec", 13, "/downloads/YoureTerrific/Season 2026/s2026e021700 - Cool and confusing: Girard-Perregaux Casquette 2.0.mp4", false, false, 98, ~U[2026-02-17 16:00:21Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "https://www.girard-perregaux.com/usa_en/39800-21-3199-6cm.html", "Cool and confusing: Girard-Perregaux Casquette 2.0", 46, 420, false, "BLO-ixqLAec", "https://www.youtube.com/watch?v=BLO-ixqLAec", "/downloads/YoureTerrific/Season 2026/s2026e021700 - Cool and confusing: Girard-Perregaux Casquette 2.0.mp4", false, ~U[2026-02-17 16:00:21Z]] 03:54:45.803 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.803 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 17:01:33Z], 46] 03:54:45.804 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TUDOR Pelagos FXD GMT M2542G257NU-0002 https://www.exquisitetimepieces.com/tudor-m2542g247nu-0002-pelagos-fxd-gmt.html", "Tudor Pelagos FXD GMT. How is it?", "1c6b3502-ae00-4215-b075-408c172f6d3d", false, 46, [], 471, false, "xfbafcR7MHE", "https://www.youtube.com/watch?v=xfbafcR7MHE", 14, "/downloads/YoureTerrific/Season 2026/s2026e020300 - Tudor Pelagos FXD GMT. How is it?.mp4", false, false, 98, ~U[2026-02-03 17:01:33Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "TUDOR Pelagos FXD GMT M2542G257NU-0002 https://www.exquisitetimepieces.com/tudor-m2542g247nu-0002-pelagos-fxd-gmt.html", "Tudor Pelagos FXD GMT. How is it?", 46, 471, false, "xfbafcR7MHE", "https://www.youtube.com/watch?v=xfbafcR7MHE", "/downloads/YoureTerrific/Season 2026/s2026e020300 - Tudor Pelagos FXD GMT. How is it?.mp4", false, ~U[2026-02-03 17:01:33Z]] 03:54:45.804 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.805 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 17:00:25Z], 46] 03:54:45.806 [debug] QUERY OK source="media_items" db=0.8ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Twelve 660. The C12 Loco. And the C1 Bel Canto Lumière.", "Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière", "471e2166-4d00-46d5-bd9c-80be70fe2bb4", false, 46, [], 494, false, "JJHFI8OthjU", "https://www.youtube.com/watch?v=JJHFI8OthjU", 15, "/downloads/YoureTerrific/Season 2026/s2026e012200 - Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière.mp4", false, false, 98, ~U[2026-01-22 17:00:25Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "The Twelve 660. The C12 Loco. And the C1 Bel Canto Lumière.", "Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière", 46, 494, false, "JJHFI8OthjU", "https://www.youtube.com/watch?v=JJHFI8OthjU", "/downloads/YoureTerrific/Season 2026/s2026e012200 - Three New from Christopher Ward: Twelve 660, C12 Loco, and C1 Bel Canto Lumière.mp4", false, ~U[2026-01-22 17:00:25Z]] 03:54:45.806 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.807 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 17:00:48Z], 46] 03:54:45.807 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Watches covered:\nTAG Heuer Formula 1 Solargraph\nVacheron Constantin Overseas (Ref. 4520V)\nRolex Submariner \"Kermit\" (Ref. 16610LV)\nHublot Big Bang Meca-10 Titanium\nNomos Club Sport Neomatik Worldtimer \"Trace\"\nAtowak Tarantula\nOmega Speedmaster 125\nChopard L.U.C XPS Forest Green\nVintage Peanuts / Snoopy Watch\nOmega Seamaster Ploprof 1200M\n\nSpeedmaster 125 for sale: https://artofthewatch.com/speedy125/", "Even More Watches I Saw at a Watch Meetup", "434b6498-dafd-4f9a-89a2-01a2355fc02f", false, 46, [], 564, false, "QIWoKiqpuRc", "https://www.youtube.com/watch?v=QIWoKiqpuRc", 16, "/downloads/YoureTerrific/Season 2026/s2026e011300 - Even More Watches I Saw at a Watch Meetup.mp4", false, false, 98, ~U[2026-01-13 17:00:48Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Watches covered:\nTAG Heuer Formula 1 Solargraph\nVacheron Constantin Overseas (Ref. 4520V)\nRolex Submariner \"Kermit\" (Ref. 16610LV)\nHublot Big Bang Meca-10 Titanium\nNomos Club Sport Neomatik Worldtimer \"Trace\"\nAtowak Tarantula\nOmega Speedmaster 125\nChopard L.U.C XPS Forest Green\nVintage Peanuts / Snoopy Watch\nOmega Seamaster Ploprof 1200M\n\nSpeedmaster 125 for sale: https://artofthewatch.com/speedy125/", "Even More Watches I Saw at a Watch Meetup", 46, 564, false, "QIWoKiqpuRc", "https://www.youtube.com/watch?v=QIWoKiqpuRc", "/downloads/YoureTerrific/Season 2026/s2026e011300 - Even More Watches I Saw at a Watch Meetup.mp4", false, ~U[2026-01-13 17:00:48Z]] 03:54:45.808 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.808 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 17:01:19Z], 46] 03:54:45.809 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Omega has finally redesigned the Seamaster Planet Ocean watches and there's a lot to talk about.\n\nhttps://www.omegawatches.com/en-us/watch-omega-seamaster-planet-ocean-600m-co-axial-master-chronometer-42-mm-21730422101003", "The 4th Generation Omega Planet Ocean", "0b563a08-b2c8-4d91-902a-e47ed0371435", false, 46, [], 642, false, "hiZQKbxFwqI", "https://www.youtube.com/watch?v=hiZQKbxFwqI", 17, "/downloads/YoureTerrific/Season 2025/s2025e122300 - The 4th Generation Omega Planet Ocean.mp4", false, false, 98, ~U[2025-12-23 17:01:19Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "Omega has finally redesigned the Seamaster Planet Ocean watches and there's a lot to talk about.\n\nhttps://www.omegawatches.com/en-us/watch-omega-seamaster-planet-ocean-600m-co-axial-master-chronometer-42-mm-21730422101003", "The 4th Generation Omega Planet Ocean", 46, 642, false, "hiZQKbxFwqI", "https://www.youtube.com/watch?v=hiZQKbxFwqI", "/downloads/YoureTerrific/Season 2025/s2025e122300 - The 4th Generation Omega Planet Ocean.mp4", false, ~U[2025-12-23 17:01:19Z]] 03:54:45.809 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.810 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 17:00:28Z], 46] 03:54:45.810 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the new 50-piece limited edition collaboration\nhttps://topperjewelers.com/", "\"Bioluminescence\" Topper Zenith DEFY Extreme Diver", "2493afdb-e141-433e-bd27-fc6cfc4436b7", false, 46, [], 383, false, "Hi_ppLq2ZBo", "https://www.youtube.com/watch?v=Hi_ppLq2ZBo", 18, "/downloads/YoureTerrific/Season 2025/s2025e121200 - "Bioluminescence" Topper Zenith DEFY Extreme Diver.mp4", false, false, 98, ~U[2025-12-12 17:00:28Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "A look at the new 50-piece limited edition collaboration\nhttps://topperjewelers.com/", "\"Bioluminescence\" Topper Zenith DEFY Extreme Diver", 46, 383, false, "Hi_ppLq2ZBo", "https://www.youtube.com/watch?v=Hi_ppLq2ZBo", "/downloads/YoureTerrific/Season 2025/s2025e121200 - "Bioluminescence" Topper Zenith DEFY Extreme Diver.mp4", false, ~U[2025-12-12 17:00:28Z]] 03:54:45.810 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.811 [debug] QUERY OK source="media_items" db=0.3ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 17:01:16Z], 46] 03:54:45.812 [debug] QUERY OK source="media_items" db=0.4ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["https://www.exquisitetimepieces.com/seiko-prospex-spb503-alpinist-turquoise-dial.html\n\nSeiko has redesigned the beloved Seiko Alpinist and released the SPB503, SPB505, and SPB507.", "The New Generation of Seiko Alpinist", "60079549-e5d2-41fd-a7e5-5ab914c1e58a", false, 46, [], 432, false, "dFg1W0gEBtk", "https://www.youtube.com/watch?v=dFg1W0gEBtk", 19, "/downloads/YoureTerrific/Season 2025/s2025e120400 - The New Generation of Seiko Alpinist.mp4", false, false, 98, ~U[2025-12-04 17:01:16Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "https://www.exquisitetimepieces.com/seiko-prospex-spb503-alpinist-turquoise-dial.html\n\nSeiko has redesigned the beloved Seiko Alpinist and released the SPB503, SPB505, and SPB507.", "The New Generation of Seiko Alpinist", 46, 432, false, "dFg1W0gEBtk", "https://www.youtube.com/watch?v=dFg1W0gEBtk", "/downloads/YoureTerrific/Season 2025/s2025e120400 - The New Generation of Seiko Alpinist.mp4", false, ~U[2025-12-04 17:01:16Z]] 03:54:45.812 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 03:54:45.812 [debug] QUERY OK source="media_items" db=0.3ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 17:00:28Z], 46] 03:54:45.813 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A look at the GP Fifty, the Laureato with the new GP4800 movement and celebrating the 50th anniversary of Laureato watch.\n\nhttps://www.girard-perregaux.com/row_en/81008-63-3412-1cm.html", "New - Girard-Perregaux Laureato Fifty", "31a98359-2999-4214-a041-8d1d856f0591", false, 46, [], 411, false, "JerH6ldqY3Q", "https://www.youtube.com/watch?v=JerH6ldqY3Q", 20, "/downloads/YoureTerrific/Season 2025/s2025e112000 - New - Girard-Perregaux Laureato Fifty.mp4", false, false, 98, ~U[2025-11-20 17:00:28Z], ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], "A look at the GP Fifty, the Laureato with the new GP4800 movement and celebrating the 50th anniversary of Laureato watch.\n\nhttps://www.girard-perregaux.com/row_en/81008-63-3412-1cm.html", "New - Girard-Perregaux Laureato Fifty", 46, 411, false, "JerH6ldqY3Q", "https://www.youtube.com/watch?v=JerH6ldqY3Q", "/downloads/YoureTerrific/Season 2025/s2025e112000 - New - Girard-Perregaux Laureato Fifty.mp4", false, ~U[2025-11-20 17:00:28Z]] 03:54:45.813 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z], 46] 03:54:45.814 [debug] QUERY OK source="media_items" db=0.4ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 03:54:45.814 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 03:54:45.814 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 03:54:45.816 [debug] QUERY OK source="tasks" db=0.2ms idle=1.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133827, 46, ~U[2026-08-05 01:54:45Z], ~U[2026-08-05 01:54:45Z]] 03:54:45.816 [info] {"args":{"id":46},"id":133322,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":23322531,"event":"job:stop","queue_time":43018,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:54:46.979 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.409 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:16.982 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:46.984 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.410 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:16.987 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:46.989 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.411 [info] {"source":"oban","duration":126,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:16.990 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:46.993 [info] {"source":"oban","duration":2554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.412 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:16.995 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:46.998 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.413 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:17.000 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:46.837 [info] {"args":{"id":26},"id":133323,"meta":{},"system_time":1785895186837733736,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 03:59:46.838 [debug] QUERY OK source="sources" db=0.2ms idle=60.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:46.838 [debug] QUERY OK source="settings" db=0.2ms idle=60.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.904 [debug] QUERY OK source="media_items" db=65.7ms idle=7.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [26] 03:59:46.907 [debug] QUERY OK source="media_items" db=3.3ms idle=66.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [26] 03:59:46.908 [debug] QUERY OK source="media_profiles" db=0.0ms idle=69.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:46.908 [debug] QUERY OK source="settings" db=0.0ms idle=69.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.908 [debug] QUERY OK source="settings" db=0.0ms idle=69.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.911 [debug] QUERY OK source="media_items" db=2.7ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [26] 03:59:46.912 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 03:59:46.912 [debug] Current batch of media processed. Will check again in 1000ms 03:59:46.912 [debug] QUERY OK source="settings" db=0.0ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.913 [debug] QUERY OK source="settings" db=0.0ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.913 [debug] QUERY OK source="settings" db=0.0ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:46.913 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TeddyBaldassarre --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Teddy Baldassarre/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/34/4a/344aa3812114d30180e5e35efbd07838a12f36ecb913a1e5427b498ad1fd7641.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4c/2f/4c2fee41bf16638639d612068c3ea9737484b2476fe9de150d353996ae16c28b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:59:47.002 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:47.913 [debug] Current batch of media processed. Will check again in 1000ms 03:59:48.914 [debug] Current batch of media processed. Will check again in 1000ms 03:59:49.915 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:13 TAG Heuer\n4:30 Timex\n5:16 Gruen\n5:56 Raymond Weil\n6:44 Omega\n8:11 Seiko\n10:12 Hamilton\n12:12 Studio Underd0g\n13:54 Timex\n15:00 Casio\n16:19 Hamilton\n19:09 Kuoe\n21:06 Accutron\n23:00 Seiko", "duration" => 1536, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e080400 - The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE).mp4", "id" => "QwPANSKjVA0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QwPANSKjVA0", "playlist_index" => 1, "timestamp" => 1785852006, "title" => "The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE)", "upload_date" => "20260804"} 03:59:49.916 [debug] QUERY OK source="sources" db=0.1ms idle=1138.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:49.916 [debug] QUERY OK source="sources" db=0.0ms idle=1083.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:49.918 [debug] QUERY OK source="media_items" db=1.6ms idle=1077.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 14:00:06Z], 26] 03:59:49.928 [debug] QUERY OK source="media_items" db=10.0ms idle=84.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:13 TAG Heuer\n4:30 Timex\n5:16 Gruen\n5:56 Raymond Weil\n6:44 Omega\n8:11 Seiko\n10:12 Hamilton\n12:12 Studio Underd0g\n13:54 Timex\n15:00 Casio\n16:19 Hamilton\n19:09 Kuoe\n21:06 Accutron\n23:00 Seiko", "The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE)", "61fa9867-2443-4b35-9d65-13f08bdf6fb8", false, 26, [], 1536, false, "QwPANSKjVA0", "https://www.youtube.com/watch?v=QwPANSKjVA0", 1, "/downloads/Teddy Baldassarre/Season 2026/s2026e080400 - The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE).mp4", false, false, 99, ~U[2026-08-04 14:00:06Z], ~U[2026-08-05 01:59:49Z], ~U[2026-08-05 01:59:49Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:13 TAG Heuer\n4:30 Timex\n5:16 Gruen\n5:56 Raymond Weil\n6:44 Omega\n8:11 Seiko\n10:12 Hamilton\n12:12 Studio Underd0g\n13:54 Timex\n15:00 Casio\n16:19 Hamilton\n19:09 Kuoe\n21:06 Accutron\n23:00 Seiko", "The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE)", 26, 1536, false, "QwPANSKjVA0", "https://www.youtube.com/watch?v=QwPANSKjVA0", "/downloads/Teddy Baldassarre/Season 2026/s2026e080400 - The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE).mp4", false, ~U[2026-08-04 14:00:06Z]] 03:59:49.928 [debug] QUERY OK source="sources" db=0.2ms idle=88.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:49.928 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:49.929 [debug] QUERY OK source="media_items" db=0.4ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253085] 03:59:49.929 [info] Kicking off download for media item #5253085 (QwPANSKjVA0) 03:59:49.931 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133828, 5253085, ~U[2026-08-05 01:59:49Z], ~U[2026-08-05 01:59:49Z]] 03:59:49.931 [debug] Current batch of media processed. Will check again in 1000ms 03:59:49.936 [info] {"args":{"id":5253085},"id":133828,"meta":{},"system_time":1785895189936776042,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:59:49.937 [debug] QUERY OK source="media_items" db=0.1ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5253085] 03:59:49.937 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:59:49.937 [debug] QUERY OK source="sources" db=0.4ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:49.937 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:49.938 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253085] 03:59:49.939 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5253085] 03:59:49.939 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:49.939 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:49.939 [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 [] 03:59:49.939 [debug] Running yt-dlp command for action: get_downloadable_status 03:59:49.939 [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 [] 03:59:49.939 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:49.940 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:49.940 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QwPANSKjVA0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/9d/bd9ddada364d46003b33597ea08d199ba2f61f36ca142d38efb2d0469b409662.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:59:50.931 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n2:15 Shopping\n19:09 Judging", "duration" => 1597, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e080100 - Building a Collection with $10,000.mp4", "id" => "sTMel7WQi3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sTMel7WQi3Y", "playlist_index" => 2, "timestamp" => 1785592834, "title" => "Building a Collection with $10,000", "upload_date" => "20260801"} 03:59:50.931 [debug] QUERY OK source="sources" db=0.1ms idle=991.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:50.932 [debug] QUERY OK source="sources" db=0.0ms idle=992.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:50.935 [debug] QUERY OK source="media_items" db=2.7ms idle=992.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 14:00:34Z], 26] 03:59:50.945 [debug] QUERY OK source="media_items" db=10.0ms idle=100.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n2:15 Shopping\n19:09 Judging", "Building a Collection with $10,000", "ba4e6827-9c00-4cbb-ba64-f8661f8ea5c2", false, 26, [], 1597, false, "sTMel7WQi3Y", "https://www.youtube.com/watch?v=sTMel7WQi3Y", 2, "/downloads/Teddy Baldassarre/Season 2026/s2026e080100 - Building a Collection with $10,000.mp4", false, false, 98, ~U[2026-08-01 14:00:34Z], ~U[2026-08-05 01:59:50Z], ~U[2026-08-05 01:59:50Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n2:15 Shopping\n19:09 Judging", "Building a Collection with $10,000", 26, 1597, false, "sTMel7WQi3Y", "https://www.youtube.com/watch?v=sTMel7WQi3Y", "/downloads/Teddy Baldassarre/Season 2026/s2026e080100 - Building a Collection with $10,000.mp4", false, ~U[2026-08-01 14:00:34Z]] 03:59:50.945 [debug] QUERY OK source="sources" db=0.2ms idle=104.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:50.945 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:50.946 [debug] QUERY OK source="media_items" db=0.2ms idle=13.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5241529] 03:59:50.946 [debug] Current batch of media processed. Will check again in 1000ms 03:59:51.917 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QwPANSKjVA0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/9d/bd9ddada364d46003b33597ea08d199ba2f61f36ca142d38efb2d0469b409662.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 03:59:51.917 [error] yt-dlp download error for media item #5253085: "WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:59:51.918 [debug] QUERY OK source="media_items" db=0.5ms idle=972.3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2026-08-05 01:59:51Z], 5253085] 03:59:51.918 [error] yt-dlp download will not be retried: "WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 03:59:51.919 [info] {"args":{"id":5253085},"id":133828,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1982027,"event":"job:stop","queue_time":936363,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:59:51.947 [debug] Current batch of media processed. Will check again in 1000ms 03:59:52.948 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n3:02 Case & Wear\n6:33 Dial\n7:43 Movement\n9:47 Closing Thoughts", "duration" => 865, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e072800 - I Loved This Watch But Wouldn’t Buy It…. Until Now.mp4", "id" => "TLHbIjl2cTs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TLHbIjl2cTs", "playlist_index" => 3, "timestamp" => 1785247238, "title" => "I Loved This Watch But Wouldn’t Buy It…. Until Now", "upload_date" => "20260728"} 03:59:52.949 [debug] QUERY OK source="sources" db=0.2ms idle=1030.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:52.949 [debug] QUERY OK source="sources" db=0.1ms idle=1030.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:52.951 [debug] QUERY OK source="media_items" db=1.7ms idle=1024.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 14:00:38Z], 26] 03:59:52.961 [debug] QUERY OK source="media_items" db=9.7ms idle=113.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n3:02 Case & Wear\n6:33 Dial\n7:43 Movement\n9:47 Closing Thoughts", "I Loved This Watch But Wouldn’t Buy It…. Until Now", "b62e2301-9191-4840-84d7-0f41a489a87e", false, 26, [], 865, false, "TLHbIjl2cTs", "https://www.youtube.com/watch?v=TLHbIjl2cTs", 3, "/downloads/Teddy Baldassarre/Season 2026/s2026e072800 - I Loved This Watch But Wouldn’t Buy It…. Until Now.mp4", false, false, 98, ~U[2026-07-28 14:00:38Z], ~U[2026-08-05 01:59:52Z], ~U[2026-08-05 01:59:52Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n3:02 Case & Wear\n6:33 Dial\n7:43 Movement\n9:47 Closing Thoughts", "I Loved This Watch But Wouldn’t Buy It…. Until Now", 26, 865, false, "TLHbIjl2cTs", "https://www.youtube.com/watch?v=TLHbIjl2cTs", "/downloads/Teddy Baldassarre/Season 2026/s2026e072800 - I Loved This Watch But Wouldn’t Buy It…. Until Now.mp4", false, ~U[2026-07-28 14:00:38Z]] 03:59:52.961 [debug] QUERY OK source="sources" db=0.1ms idle=117.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:52.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:52.962 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226105] 03:59:52.963 [debug] Current batch of media processed. Will check again in 1000ms 03:59:53.963 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stream How a Two-Million-Dollar Watch is Made here:\nhttp://teddybaldassarre.com/million-dollar-watch\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 Two-Million-Dollar Watch\n1:49 Vacheron Constantin\n4:29 Seiko 5\n6:48 Christopher Ward\n8:47 Royal Oak + Nautilus\n14:22 Grand Seiko\n16:50 Louis Vuitton\n18:41 A. Lange & Söhne\n21:20 Rolex", "duration" => 1441, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e072500 - The Watches We Were Wrong About.mp4", "id" => "viCWyD1Pe9w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=viCWyD1Pe9w", "playlist_index" => 4, "timestamp" => 1784988027, "title" => "The Watches We Were Wrong About", "upload_date" => "20260725"} 03:59:53.963 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:53.964 [debug] QUERY OK source="sources" db=0.0ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:53.966 [debug] QUERY OK source="media_items" db=1.6ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 14:00:27Z], 26] 03:59:53.976 [debug] QUERY OK source="media_items" db=9.7ms idle=127.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stream How a Two-Million-Dollar Watch is Made here:\nhttp://teddybaldassarre.com/million-dollar-watch\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 Two-Million-Dollar Watch\n1:49 Vacheron Constantin\n4:29 Seiko 5\n6:48 Christopher Ward\n8:47 Royal Oak + Nautilus\n14:22 Grand Seiko\n16:50 Louis Vuitton\n18:41 A. Lange & Söhne\n21:20 Rolex", "The Watches We Were Wrong About", "a369b207-2727-4556-ab2f-ce9848927ca5", false, 26, [], 1441, false, "viCWyD1Pe9w", "https://www.youtube.com/watch?v=viCWyD1Pe9w", 4, "/downloads/Teddy Baldassarre/Season 2026/s2026e072500 - The Watches We Were Wrong About.mp4", false, false, 98, ~U[2026-07-25 14:00:27Z], ~U[2026-08-05 01:59:53Z], ~U[2026-08-05 01:59:53Z], "Stream How a Two-Million-Dollar Watch is Made here:\nhttp://teddybaldassarre.com/million-dollar-watch\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 Two-Million-Dollar Watch\n1:49 Vacheron Constantin\n4:29 Seiko 5\n6:48 Christopher Ward\n8:47 Royal Oak + Nautilus\n14:22 Grand Seiko\n16:50 Louis Vuitton\n18:41 A. Lange & Söhne\n21:20 Rolex", "The Watches We Were Wrong About", 26, 1441, false, "viCWyD1Pe9w", "https://www.youtube.com/watch?v=viCWyD1Pe9w", "/downloads/Teddy Baldassarre/Season 2026/s2026e072500 - The Watches We Were Wrong About.mp4", false, ~U[2026-07-25 14:00:27Z]] 03:59:53.976 [debug] QUERY OK source="sources" db=0.2ms idle=131.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:53.976 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:53.977 [debug] QUERY OK source="media_items" db=0.1ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5214632] 03:59:53.977 [debug] Current batch of media processed. Will check again in 1000ms 03:59:54.978 [debug] Current batch of media processed. Will check again in 1000ms 03:59:55.979 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Download your free copy of our Tudor E-book here:\nhttp://teddybaldassarre.com/tudor-e-book\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:31 Case & Wear\n4:47 Dial\n6:09 Movement\n8:01 Final Thoughts", "duration" => 745, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e072100 - I Didn't Expect This From Tudor.mp4", "id" => "2NU1q9MiS8w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2NU1q9MiS8w", "playlist_index" => 5, "timestamp" => 1784642439, "title" => "I Didn't Expect This From Tudor", "upload_date" => "20260721"} 03:59:55.980 [debug] QUERY OK source="sources" db=0.2ms idle=202.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:55.980 [debug] QUERY OK source="sources" db=0.1ms idle=202.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:55.983 [debug] QUERY OK source="media_items" db=2.7ms idle=203.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 14:00:39Z], 26] 03:59:55.993 [debug] QUERY OK source="media_items" db=9.9ms idle=142.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Download your free copy of our Tudor E-book here:\nhttp://teddybaldassarre.com/tudor-e-book\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:31 Case & Wear\n4:47 Dial\n6:09 Movement\n8:01 Final Thoughts", "I Didn't Expect This From Tudor", "a4df635e-dbd0-4fc0-9d0f-6aa1d78503f8", false, 26, [], 745, false, "2NU1q9MiS8w", "https://www.youtube.com/watch?v=2NU1q9MiS8w", 5, "/downloads/Teddy Baldassarre/Season 2026/s2026e072100 - I Didn't Expect This From Tudor.mp4", false, false, 98, ~U[2026-07-21 14:00:39Z], ~U[2026-08-05 01:59:55Z], ~U[2026-08-05 01:59:55Z], "Download your free copy of our Tudor E-book here:\nhttp://teddybaldassarre.com/tudor-e-book\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:31 Case & Wear\n4:47 Dial\n6:09 Movement\n8:01 Final Thoughts", "I Didn't Expect This From Tudor", 26, 745, false, "2NU1q9MiS8w", "https://www.youtube.com/watch?v=2NU1q9MiS8w", "/downloads/Teddy Baldassarre/Season 2026/s2026e072100 - I Didn't Expect This From Tudor.mp4", false, ~U[2026-07-21 14:00:39Z]] 03:59:55.993 [debug] QUERY OK source="sources" db=0.1ms idle=146.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:55.994 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:55.994 [debug] QUERY OK source="media_items" db=0.2ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5199265] 03:59:55.994 [debug] Current batch of media processed. Will check again in 1000ms 03:59:56.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Follow along with all the watches in the tournament using this article on the blog:\nhttps://teddybaldassarre.com/blogs/watches/tissot-tournament\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:32 The Playing Field\n7:08 Round of 32\n11:06 Round of 16\n4:12 Round of 8\n15:15 Final Four\n17:11 Championship Matchup", "duration" => 1255, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e071800 - Determining the Best Tissot Watch - Subscriber Tournament.mp4", "id" => "ByDdFLgqvKA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ByDdFLgqvKA", "playlist_index" => 6, "timestamp" => 1784383225, "title" => "Determining the Best Tissot Watch - Subscriber Tournament", "upload_date" => "20260718"} 03:59:56.995 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:56.996 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:56.997 [debug] QUERY OK source="media_items" db=1.6ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-18 14:00:25Z], 26] 03:59:57.007 [debug] QUERY OK source="media_items" db=9.7ms idle=155.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Follow along with all the watches in the tournament using this article on the blog:\nhttps://teddybaldassarre.com/blogs/watches/tissot-tournament\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:32 The Playing Field\n7:08 Round of 32\n11:06 Round of 16\n4:12 Round of 8\n15:15 Final Four\n17:11 Championship Matchup", "Determining the Best Tissot Watch - Subscriber Tournament", "03ac8179-0952-43cc-a769-c01dd9a6933f", false, 26, [], 1255, false, "ByDdFLgqvKA", "https://www.youtube.com/watch?v=ByDdFLgqvKA", 6, "/downloads/Teddy Baldassarre/Season 2026/s2026e071800 - Determining the Best Tissot Watch - Subscriber Tournament.mp4", false, false, 98, ~U[2026-07-18 14:00:25Z], ~U[2026-08-05 01:59:56Z], ~U[2026-08-05 01:59:56Z], "Follow along with all the watches in the tournament using this article on the blog:\nhttps://teddybaldassarre.com/blogs/watches/tissot-tournament\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:32 The Playing Field\n7:08 Round of 32\n11:06 Round of 16\n4:12 Round of 8\n15:15 Final Four\n17:11 Championship Matchup", "Determining the Best Tissot Watch - Subscriber Tournament", 26, 1255, false, "ByDdFLgqvKA", "https://www.youtube.com/watch?v=ByDdFLgqvKA", "/downloads/Teddy Baldassarre/Season 2026/s2026e071800 - Determining the Best Tissot Watch - Subscriber Tournament.mp4", false, ~U[2026-07-18 14:00:25Z]] 03:59:57.008 [debug] QUERY OK source="sources" db=0.1ms idle=160.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:57.008 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:57.008 [debug] QUERY OK source="media_items" db=0.1ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5187716] 03:59:57.008 [debug] Current batch of media processed. Will check again in 1000ms 03:59:58.009 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nShop Dive Watches:\nhttps://teddybaldassarre.com/collections/all-dive-watches\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 What is a Dive Watch?\n1:35 The Rise of the Waterproof Watch\n7:16 The First Modern Dive Watches\n15:00 New Depths & New Design Frontiers\n24:52 Dive Watches Go Extreme (And Mainstream)\n31:19 Tools Yesterday, Luxury Items Today\n40:00 Dive Watches Today", "duration" => 2625, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e071600 - The Dive Watches That Changed Everything.mp4", "id" => "GI84ZQpo8ZU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GI84ZQpo8ZU", "playlist_index" => 7, "timestamp" => 1784210415, "title" => "The Dive Watches That Changed Everything", "upload_date" => "20260716"} 03:59:58.009 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 03:59:58.010 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:58.013 [debug] QUERY OK source="media_items" db=2.7ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 14:00:15Z], 26] 03:59:58.013 [debug] QUERY OK source="media_items" db=0.7ms idle=169.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nShop Dive Watches:\nhttps://teddybaldassarre.com/collections/all-dive-watches\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 What is a Dive Watch?\n1:35 The Rise of the Waterproof Watch\n7:16 The First Modern Dive Watches\n15:00 New Depths & New Design Frontiers\n24:52 Dive Watches Go Extreme (And Mainstream)\n31:19 Tools Yesterday, Luxury Items Today\n40:00 Dive Watches Today", "The Dive Watches That Changed Everything", "496a1a1f-fceb-4ef9-ae18-d4fedad55dfd", false, 26, [], 2625, false, "GI84ZQpo8ZU", "https://www.youtube.com/watch?v=GI84ZQpo8ZU", 7, "/downloads/Teddy Baldassarre/Season 2026/s2026e071600 - The Dive Watches That Changed Everything.mp4", false, false, 98, ~U[2026-07-16 14:00:15Z], ~U[2026-08-05 01:59:58Z], ~U[2026-08-05 01:59:58Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nShop Dive Watches:\nhttps://teddybaldassarre.com/collections/all-dive-watches\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 What is a Dive Watch?\n1:35 The Rise of the Waterproof Watch\n7:16 The First Modern Dive Watches\n15:00 New Depths & New Design Frontiers\n24:52 Dive Watches Go Extreme (And Mainstream)\n31:19 Tools Yesterday, Luxury Items Today\n40:00 Dive Watches Today", "The Dive Watches That Changed Everything", 26, 2625, false, "GI84ZQpo8ZU", "https://www.youtube.com/watch?v=GI84ZQpo8ZU", "/downloads/Teddy Baldassarre/Season 2026/s2026e071600 - The Dive Watches That Changed Everything.mp4", false, ~U[2026-07-16 14:00:15Z]] 03:59:58.014 [debug] QUERY OK source="sources" db=0.2ms idle=164.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 03:59:58.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:58.014 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5179667] 03:59:58.015 [debug] Current batch of media processed. Will check again in 1000ms 03:59:59.015 [debug] Current batch of media processed. Will check again in 1000ms 04:00:00.016 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Read about our Top Watches Under $300 on the blog here:\nhttps://teddybaldassarre.com/blogs/watches/best-watches-under-300\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 Top Watches Under $300 Blog\n1:28 Tissot\n4:35 Citizen\n5:59 Bulova\n7:21 Seiko\n10:38 Hamilton\n11:41 Timex\n13:07 Laco\n14:21 Marathon\n15:30 Swatch\n16:30 Microbrands", "duration" => 1349, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e071100 - What $500 Buys You in Watches in 2026.mp4", "id" => "pZ62fpeW760", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pZ62fpeW760", "playlist_index" => 8, "timestamp" => 1783778413, "title" => "What $500 Buys You in Watches in 2026", "upload_date" => "20260711"} 04:00:00.016 [debug] QUERY OK source="sources" db=0.2ms idle=239.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:00.017 [debug] QUERY OK source="sources" db=0.1ms idle=239.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:00.020 [debug] QUERY OK source="media_items" db=2.9ms idle=239.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 14:00:13Z], 26] 04:00:00.021 [debug] QUERY OK source="media_items" db=1.0ms idle=173.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Read about our Top Watches Under $300 on the blog here:\nhttps://teddybaldassarre.com/blogs/watches/best-watches-under-300\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 Top Watches Under $300 Blog\n1:28 Tissot\n4:35 Citizen\n5:59 Bulova\n7:21 Seiko\n10:38 Hamilton\n11:41 Timex\n13:07 Laco\n14:21 Marathon\n15:30 Swatch\n16:30 Microbrands", "What $500 Buys You in Watches in 2026", "ba4bf7d5-3cc4-458f-8a12-885047e0e05d", false, 26, [], 1349, false, "pZ62fpeW760", "https://www.youtube.com/watch?v=pZ62fpeW760", 8, "/downloads/Teddy Baldassarre/Season 2026/s2026e071100 - What $500 Buys You in Watches in 2026.mp4", false, false, 98, ~U[2026-07-11 14:00:13Z], ~U[2026-08-05 02:00:00Z], ~U[2026-08-05 02:00:00Z], "Read about our Top Watches Under $300 on the blog here:\nhttps://teddybaldassarre.com/blogs/watches/best-watches-under-300\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 Top Watches Under $300 Blog\n1:28 Tissot\n4:35 Citizen\n5:59 Bulova\n7:21 Seiko\n10:38 Hamilton\n11:41 Timex\n13:07 Laco\n14:21 Marathon\n15:30 Swatch\n16:30 Microbrands", "What $500 Buys You in Watches in 2026", 26, 1349, false, "pZ62fpeW760", "https://www.youtube.com/watch?v=pZ62fpeW760", "/downloads/Teddy Baldassarre/Season 2026/s2026e071100 - What $500 Buys You in Watches in 2026.mp4", false, ~U[2026-07-11 14:00:13Z]] 04:00:00.022 [debug] QUERY OK source="sources" db=0.2ms idle=169.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:00.022 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:00.023 [debug] QUERY OK source="media_items" db=0.1ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160755] 04:00:00.023 [debug] Current batch of media processed. Will check again in 1000ms 04:00:00.415 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[133829]} 04:00:00.422 [info] {"args":{},"id":133829,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1785895200422071082,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:01.024 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Read more about the best French brands here:\nhttps://teddybaldassarre.com/blogs/watches/french-watch-brands\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:58 Cartier\n3:18 Hermès \n5:03 Baltic\n6:15 Beaubleu\n7:08 Yema\n8:11 Bell & Ross \n9:10 Pequignet\n10:12 Serica\n11:10 Hegid\n11:51 Depancel\n12:50 Théo Auffret\n13:50 Merci\n14:40 Trilobe\n15:43 Awake\n16:39 Reservoir\n17:36 L. Leroy \n18:44 Rémy Cools\n19:40 Sartory Billard\n20:46 Semper & Adhuc\n21:41 Louis Vuitton", "duration" => 1462, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e070800 - The Best French Watch Brands (20 Brands Featured).mp4", "id" => "QTf5XF3CwJY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QTf5XF3CwJY", "playlist_index" => 9, "timestamp" => 1783519208, "title" => "The Best French Watch Brands (20 Brands Featured)", "upload_date" => "20260708"} 04:00:01.025 [debug] QUERY OK source="sources" db=0.2ms idle=608.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:01.025 [debug] QUERY OK source="sources" db=0.1ms idle=603.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:01.027 [debug] QUERY OK source="media_items" db=1.8ms idle=177.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 14:00:08Z], 26] 04:00:01.028 [debug] QUERY OK source="media_items" db=0.6ms idle=173.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Read more about the best French brands here:\nhttps://teddybaldassarre.com/blogs/watches/french-watch-brands\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:58 Cartier\n3:18 Hermès \n5:03 Baltic\n6:15 Beaubleu\n7:08 Yema\n8:11 Bell & Ross \n9:10 Pequignet\n10:12 Serica\n11:10 Hegid\n11:51 Depancel\n12:50 Théo Auffret\n13:50 Merci\n14:40 Trilobe\n15:43 Awake\n16:39 Reservoir\n17:36 L. Leroy \n18:44 Rémy Cools\n19:40 Sartory Billard\n20:46 Semper & Adhuc\n21:41 Louis Vuitton", "The Best French Watch Brands (20 Brands Featured)", "be88a40a-5aac-4e13-9385-bf65e1d45701", false, 26, [], 1462, false, "QTf5XF3CwJY", "https://www.youtube.com/watch?v=QTf5XF3CwJY", 9, "/downloads/Teddy Baldassarre/Season 2026/s2026e070800 - The Best French Watch Brands (20 Brands Featured).mp4", false, false, 98, ~U[2026-07-08 14:00:08Z], ~U[2026-08-05 02:00:01Z], ~U[2026-08-05 02:00:01Z], "Read more about the best French brands here:\nhttps://teddybaldassarre.com/blogs/watches/french-watch-brands\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:58 Cartier\n3:18 Hermès \n5:03 Baltic\n6:15 Beaubleu\n7:08 Yema\n8:11 Bell & Ross \n9:10 Pequignet\n10:12 Serica\n11:10 Hegid\n11:51 Depancel\n12:50 Théo Auffret\n13:50 Merci\n14:40 Trilobe\n15:43 Awake\n16:39 Reservoir\n17:36 L. Leroy \n18:44 Rémy Cools\n19:40 Sartory Billard\n20:46 Semper & Adhuc\n21:41 Louis Vuitton", "The Best French Watch Brands (20 Brands Featured)", 26, 1462, false, "QTf5XF3CwJY", "https://www.youtube.com/watch?v=QTf5XF3CwJY", "/downloads/Teddy Baldassarre/Season 2026/s2026e070800 - The Best French Watch Brands (20 Brands Featured).mp4", false, ~U[2026-07-08 14:00:08Z]] 04:00:01.028 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:01.312 [debug] QUERY OK source="media_profiles" db=0.2ms queue=283.6ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:01.313 [debug] QUERY OK source="media_items" db=0.5ms idle=285.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5149405] 04:00:01.313 [debug] Current batch of media processed. Will check again in 1000ms 04:00:01.865 [debug] QUERY OK source="media_items" db=1443.1ms idle=399.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 04:00:01.865 [info] Redownloading 2 media items 04:00:01.869 [debug] QUERY OK source="tasks" db=1.3ms idle=554.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133830, 5209377, ~U[2026-08-05 02:00:01Z], ~U[2026-08-05 02:00:01Z]] 04:00:01.876 [info] {"args":{"id":5209377,"quality_upgrade?":true},"id":133830,"meta":{},"system_time":1785895201875923581,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:01.876 [debug] QUERY OK source="tasks" db=0.1ms idle=8.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133831, 5242346, ~U[2026-08-05 02:00:01Z], ~U[2026-08-05 02:00:01Z]] 04:00:01.876 [debug] QUERY OK source="media_items" db=0.2ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5209377] 04:00:01.876 [info] {"args":{},"id":133829,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":1454043,"event":"job:stop","queue_time":421366,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:01.876 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:00:01.876 [debug] QUERY OK source="sources" db=0.2ms idle=0.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [27] 04:00:01.878 [debug] QUERY OK source="media_metadata" db=0.4ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5209377] 04:00:01.878 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:01.878 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.879 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.879 [debug] Running yt-dlp command for action: get_downloadable_status 04:00:01.879 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.879 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.879 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.880 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yMDGSBuprCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/98/63986806e642dca82bd9ce05f61bd849e73230d3d128d50bf913d337a825c253.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:01.881 [info] {"args":{"id":5242346,"quality_upgrade?":true},"id":133831,"meta":{},"system_time":1785895201881814348,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:01.882 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5242346] 04:00:01.882 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:00:01.882 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:00:01.883 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5242346] 04:00:01.883 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:01.883 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.883 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.884 [debug] Running yt-dlp command for action: get_downloadable_status 04:00:01.884 [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 [] 04:00:01.884 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:01.885 [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 [] 04:00:01.885 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aZdY7cHcBic --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4c/334c620ba84f81177cad08cd36adf4cb0bc2520fa9d32ea707ff60b9c6202d8a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:02.314 [debug] Current batch of media processed. Will check again in 1000ms 04:00:03.315 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today's video, Executive Producer Jonathan McWhorter gives a closer look at his latest watch purchase: a $42 watch made in India. The Terra by Delhi Watch Co. created a lot of unexpected buzz on social media when it was announced earlier this year, Jonathan bought the new Terra in Titanium by Indian microbrand Delhi Watch Company to see if the watch really lived up to the hype.\n\nRead more about the best watch brands from India on our blog here:\n\nhttps://teddybaldassarre.com/blogs/watches/top-10-watch-brands-in-india\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:01 Case & Wear\n5:15 Dial\n6:19 Movement\n6:50 Final Thoughts", "duration" => 601, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e070500 - We Bought a $42 Watch From India.mp4", "id" => "F0_4kXczJQM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F0_4kXczJQM", "playlist_index" => 10, "timestamp" => 1783260014, "title" => "We Bought a $42 Watch From India", "upload_date" => "20260705"} 04:00:03.315 [debug] QUERY OK source="sources" db=0.2ms idle=1431.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:03.316 [debug] QUERY OK source="sources" db=0.0ms idle=1431.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:03.318 [debug] QUERY OK source="media_items" db=1.8ms idle=1431.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 14:00:14Z], 26] 04:00:03.334 [debug] QUERY OK source="media_items" db=15.5ms idle=1433.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, Executive Producer Jonathan McWhorter gives a closer look at his latest watch purchase: a $42 watch made in India. The Terra by Delhi Watch Co. created a lot of unexpected buzz on social media when it was announced earlier this year, Jonathan bought the new Terra in Titanium by Indian microbrand Delhi Watch Company to see if the watch really lived up to the hype.\n\nRead more about the best watch brands from India on our blog here:\n\nhttps://teddybaldassarre.com/blogs/watches/top-10-watch-brands-in-india\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:01 Case & Wear\n5:15 Dial\n6:19 Movement\n6:50 Final Thoughts", "We Bought a $42 Watch From India", "c1c5bec5-22e4-4295-9d3d-141a3cea8eb7", false, 26, [], 601, false, "F0_4kXczJQM", "https://www.youtube.com/watch?v=F0_4kXczJQM", 10, "/downloads/Teddy Baldassarre/Season 2026/s2026e070500 - We Bought a $42 Watch From India.mp4", false, false, 98, ~U[2026-07-05 14:00:14Z], ~U[2026-08-05 02:00:03Z], ~U[2026-08-05 02:00:03Z], "In today's video, Executive Producer Jonathan McWhorter gives a closer look at his latest watch purchase: a $42 watch made in India. The Terra by Delhi Watch Co. created a lot of unexpected buzz on social media when it was announced earlier this year, Jonathan bought the new Terra in Titanium by Indian microbrand Delhi Watch Company to see if the watch really lived up to the hype.\n\nRead more about the best watch brands from India on our blog here:\n\nhttps://teddybaldassarre.com/blogs/watches/top-10-watch-brands-in-india\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:01 Case & Wear\n5:15 Dial\n6:19 Movement\n6:50 Final Thoughts", "We Bought a $42 Watch From India", 26, 601, false, "F0_4kXczJQM", "https://www.youtube.com/watch?v=F0_4kXczJQM", "/downloads/Teddy Baldassarre/Season 2026/s2026e070500 - We Bought a $42 Watch From India.mp4", false, ~U[2026-07-05 14:00:14Z]] 04:00:03.334 [debug] QUERY OK source="sources" db=0.2ms idle=466.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:03.334 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:03.335 [debug] QUERY OK source="media_items" db=0.2ms idle=18.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5138150] 04:00:03.335 [debug] Current batch of media processed. Will check again in 1000ms 04:00:03.516 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yMDGSBuprCY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/98/63986806e642dca82bd9ce05f61bd849e73230d3d128d50bf913d337a825c253.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] yMDGSBuprCY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] yMDGSBuprCY: Video unavailable. This video has been removed by the uploader 04:00:03.516 [error] yt-dlp download error for media item #5209377: "WARNING: [youtube] yMDGSBuprCY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] yMDGSBuprCY: Video unavailable. This video has been removed by the uploader\n" 04:00:03.524 [debug] QUERY OK source="media_items" db=7.4ms idle=198.3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] yMDGSBuprCY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] yMDGSBuprCY: Video unavailable. This video has been removed by the uploader\n", ~U[2026-08-05 02:00:03Z], 5209377] 04:00:03.524 [error] yt-dlp download will not be retried: "WARNING: [youtube] yMDGSBuprCY: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] yMDGSBuprCY: Video unavailable. This video has been removed by the uploader\n" 04:00:03.524 [info] {"args":{"id":5209377,"quality_upgrade?":true},"id":133830,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1648349,"event":"job:stop","queue_time":872376,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:03.868 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aZdY7cHcBic --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4c/334c620ba84f81177cad08cd36adf4cb0bc2520fa9d32ea707ff60b9c6202d8a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] aZdY7cHcBic: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] aZdY7cHcBic: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:00:03.868 [error] yt-dlp download error for media item #5242346: "WARNING: [youtube] aZdY7cHcBic: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] aZdY7cHcBic: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:00:03.868 [error] yt-dlp download will not be retried: "WARNING: [youtube] aZdY7cHcBic: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] aZdY7cHcBic: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:00:03.869 [info] {"args":{"id":5242346,"quality_upgrade?":true},"id":133831,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1986936,"event":"job:stop","queue_time":881365,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:04.336 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:30 Backstory\n2:57 Models\n7:45 Accessible High-Watchmaking", "duration" => 736, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e063000 - An Attainable Japanese Independent Every Collector Should Know.mp4", "id" => "8RFDZueEdr4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8RFDZueEdr4", "playlist_index" => 11, "timestamp" => 1782828010, "title" => "An Attainable Japanese Independent Every Collector Should Know", "upload_date" => "20260630"} 04:00:04.337 [debug] QUERY OK source="sources" db=0.2ms idle=811.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:04.337 [debug] QUERY OK source="sources" db=0.1ms idle=806.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:04.339 [debug] QUERY OK source="media_items" db=2.0ms idle=468.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-30 14:00:10Z], 26] 04:00:04.340 [debug] QUERY OK source="media_items" db=0.6ms idle=470.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:30 Backstory\n2:57 Models\n7:45 Accessible High-Watchmaking", "An Attainable Japanese Independent Every Collector Should Know", "63c57169-e640-40b4-b2df-8289588991b4", false, 26, [], 736, false, "8RFDZueEdr4", "https://www.youtube.com/watch?v=8RFDZueEdr4", 11, "/downloads/Teddy Baldassarre/Season 2026/s2026e063000 - An Attainable Japanese Independent Every Collector Should Know.mp4", false, false, 98, ~U[2026-06-30 14:00:10Z], ~U[2026-08-05 02:00:04Z], ~U[2026-08-05 02:00:04Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:30 Backstory\n2:57 Models\n7:45 Accessible High-Watchmaking", "An Attainable Japanese Independent Every Collector Should Know", 26, 736, false, "8RFDZueEdr4", "https://www.youtube.com/watch?v=8RFDZueEdr4", "/downloads/Teddy Baldassarre/Season 2026/s2026e063000 - An Attainable Japanese Independent Every Collector Should Know.mp4", false, ~U[2026-06-30 14:00:10Z]] 04:00:04.340 [debug] QUERY OK source="sources" db=0.1ms idle=465.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:04.341 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:04.341 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5121910] 04:00:04.341 [debug] Current batch of media processed. Will check again in 1000ms 04:00:05.342 [debug] Current batch of media processed. Will check again in 1000ms 04:00:06.343 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stream The Mastery of Grand Seiko here for free:\nhttps://teddybaldassarre.com/mastery-of-grand-seiko\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 The Mastery of Grand Seiko\n1:50 Cartier\n3:04 Rolex\n5:36 Breitling\n7:58 Zenith\n9:13 Omega\n11:30 TAG Heuer\n12:32 Grand Seiko\n14:23 JLC\n15:26 Glashütte Original\n16:49 IWC\n19:32 Panerai", "duration" => 1377, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e062700 - What $10,000 Buys You in Watches in 2026.mp4", "id" => "vYzMciWHcVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vYzMciWHcVY", "playlist_index" => 12, "timestamp" => 1782568832, "title" => "What $10,000 Buys You in Watches in 2026", "upload_date" => "20260627"} 04:00:06.343 [debug] QUERY OK source="sources" db=0.1ms idle=478.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:06.344 [debug] QUERY OK source="sources" db=0.1ms idle=478.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:06.347 [debug] QUERY OK source="media_items" db=3.0ms idle=478.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 14:00:32Z], 26] 04:00:06.348 [debug] QUERY OK source="media_items" db=0.9ms idle=474.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stream The Mastery of Grand Seiko here for free:\nhttps://teddybaldassarre.com/mastery-of-grand-seiko\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 The Mastery of Grand Seiko\n1:50 Cartier\n3:04 Rolex\n5:36 Breitling\n7:58 Zenith\n9:13 Omega\n11:30 TAG Heuer\n12:32 Grand Seiko\n14:23 JLC\n15:26 Glashütte Original\n16:49 IWC\n19:32 Panerai", "What $10,000 Buys You in Watches in 2026", "199d8ccd-e6f6-4694-a2a9-33ffa1c666f4", false, 26, [], 1377, false, "vYzMciWHcVY", "https://www.youtube.com/watch?v=vYzMciWHcVY", 12, "/downloads/Teddy Baldassarre/Season 2026/s2026e062700 - What $10,000 Buys You in Watches in 2026.mp4", false, false, 98, ~U[2026-06-27 14:00:32Z], ~U[2026-08-05 02:00:06Z], ~U[2026-08-05 02:00:06Z], "Stream The Mastery of Grand Seiko here for free:\nhttps://teddybaldassarre.com/mastery-of-grand-seiko\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 The Mastery of Grand Seiko\n1:50 Cartier\n3:04 Rolex\n5:36 Breitling\n7:58 Zenith\n9:13 Omega\n11:30 TAG Heuer\n12:32 Grand Seiko\n14:23 JLC\n15:26 Glashütte Original\n16:49 IWC\n19:32 Panerai", "What $10,000 Buys You in Watches in 2026", 26, 1377, false, "vYzMciWHcVY", "https://www.youtube.com/watch?v=vYzMciWHcVY", "/downloads/Teddy Baldassarre/Season 2026/s2026e062700 - What $10,000 Buys You in Watches in 2026.mp4", false, ~U[2026-06-27 14:00:32Z]] 04:00:06.349 [debug] QUERY OK source="sources" db=0.1ms idle=470.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:06.349 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:06.350 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5112191] 04:00:06.350 [debug] Current batch of media processed. Will check again in 1000ms 04:00:07.350 [debug] Current batch of media processed. Will check again in 1000ms 04:00:08.351 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:06 Industry Impact\n3:01 History of Casio\n6:47 Creation of the F91W\n9:09 Release, Evolution", "duration" => 1007, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e062300 - The Most Successful Watch Ever Made.mp4", "id" => "rwLx9O1koR4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rwLx9O1koR4", "playlist_index" => 13, "timestamp" => 1782223216, "title" => "The Most Successful Watch Ever Made", "upload_date" => "20260623"} 04:00:08.352 [debug] QUERY OK source="sources" db=0.2ms idle=486.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:08.352 [debug] QUERY OK source="sources" db=0.1ms idle=486.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:08.354 [debug] QUERY OK source="media_items" db=2.2ms idle=487.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 14:00:16Z], 26] 04:00:08.356 [debug] QUERY OK source="media_items" db=0.8ms idle=479.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:06 Industry Impact\n3:01 History of Casio\n6:47 Creation of the F91W\n9:09 Release, Evolution", "The Most Successful Watch Ever Made", "6483255f-252e-4453-8d9d-2f61822b6dfc", false, 26, [], 1007, false, "rwLx9O1koR4", "https://www.youtube.com/watch?v=rwLx9O1koR4", 13, "/downloads/Teddy Baldassarre/Season 2026/s2026e062300 - The Most Successful Watch Ever Made.mp4", false, false, 98, ~U[2026-06-23 14:00:16Z], ~U[2026-08-05 02:00:08Z], ~U[2026-08-05 02:00:08Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:06 Industry Impact\n3:01 History of Casio\n6:47 Creation of the F91W\n9:09 Release, Evolution", "The Most Successful Watch Ever Made", 26, 1007, false, "rwLx9O1koR4", "https://www.youtube.com/watch?v=rwLx9O1koR4", "/downloads/Teddy Baldassarre/Season 2026/s2026e062300 - The Most Successful Watch Ever Made.mp4", false, ~U[2026-06-23 14:00:16Z]] 04:00:08.356 [debug] QUERY OK source="sources" db=0.2ms idle=474.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:08.356 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:08.357 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5099203] 04:00:08.357 [debug] Current batch of media processed. Will check again in 1000ms 04:00:09.358 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy Father's Day. Thank you all for all of the support over the years.\n\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1", "duration" => 185, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e062100 - The Watch I Am Giving My Son.mp4", "id" => "EfzeChu6_Kc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EfzeChu6_Kc", "playlist_index" => 14, "timestamp" => 1782050401, "title" => "The Watch I Am Giving My Son", "upload_date" => "20260621"} 04:00:09.359 [debug] QUERY OK source="sources" db=0.2ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:09.359 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:09.362 [debug] QUERY OK source="media_items" db=2.9ms idle=1002.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 14:00:01Z], 26] 04:00:09.363 [debug] QUERY OK source="media_items" db=0.8ms idle=485.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Father's Day. Thank you all for all of the support over the years.\n\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1", "The Watch I Am Giving My Son", "ce40922f-795a-47dc-8990-15aa21614140", false, 26, [], 185, false, "EfzeChu6_Kc", "https://www.youtube.com/watch?v=EfzeChu6_Kc", 14, "/downloads/Teddy Baldassarre/Season 2026/s2026e062100 - The Watch I Am Giving My Son.mp4", false, false, 98, ~U[2026-06-21 14:00:01Z], ~U[2026-08-05 02:00:09Z], ~U[2026-08-05 02:00:09Z], "Happy Father's Day. Thank you all for all of the support over the years.\n\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1", "The Watch I Am Giving My Son", 26, 185, false, "EfzeChu6_Kc", "https://www.youtube.com/watch?v=EfzeChu6_Kc", "/downloads/Teddy Baldassarre/Season 2026/s2026e062100 - The Watch I Am Giving My Son.mp4", false, ~U[2026-06-21 14:00:01Z]] 04:00:09.364 [debug] QUERY OK source="sources" db=0.2ms idle=480.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:09.364 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:09.364 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5092724] 04:00:09.365 [debug] Current batch of media processed. Will check again in 1000ms 04:00:10.365 [debug] Current batch of media processed. Will check again in 1000ms 04:00:11.366 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n1:49 Selections\n17:07 Judging", "duration" => 1337, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e061600 - Building a Complete Collection with Omega.mp4", "id" => "cubeDXmHSYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cubeDXmHSYs", "playlist_index" => 15, "timestamp" => 1781618430, "title" => "Building a Complete Collection with Omega", "upload_date" => "20260616"} 04:00:11.366 [debug] QUERY OK source="sources" db=0.1ms idle=501.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:11.367 [debug] QUERY OK source="sources" db=0.1ms idle=501.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:11.370 [debug] QUERY OK source="media_items" db=2.6ms idle=501.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 14:00:30Z], 26] 04:00:11.371 [debug] QUERY OK source="media_items" db=0.8ms idle=489.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n1:49 Selections\n17:07 Judging", "Building a Complete Collection with Omega", "d1262eb5-9703-4e35-98ae-7df295409b5e", false, 26, [], 1337, false, "cubeDXmHSYs", "https://www.youtube.com/watch?v=cubeDXmHSYs", 15, "/downloads/Teddy Baldassarre/Season 2026/s2026e061600 - Building a Complete Collection with Omega.mp4", false, false, 98, ~U[2026-06-16 14:00:30Z], ~U[2026-08-05 02:00:11Z], ~U[2026-08-05 02:00:11Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n1:49 Selections\n17:07 Judging", "Building a Complete Collection with Omega", 26, 1337, false, "cubeDXmHSYs", "https://www.youtube.com/watch?v=cubeDXmHSYs", "/downloads/Teddy Baldassarre/Season 2026/s2026e061600 - Building a Complete Collection with Omega.mp4", false, ~U[2026-06-16 14:00:30Z]] 04:00:11.371 [debug] QUERY OK source="sources" db=0.2ms idle=484.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:11.372 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:11.372 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5076434] 04:00:11.372 [debug] Current batch of media processed. Will check again in 1000ms 04:00:12.373 [debug] Current batch of media processed. Will check again in 1000ms 04:00:13.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Register Your Interest in a Day with Grand Seiko 2026 here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nWant to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nWhy This Inexpensive Watch Is My Most Prized Possession:\nhttps://youtu.be/27D0Wmns9e0\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 How to Get on Real Collectors Series\n1:51 Most Meaningful Watch\n3:33 Most Overlooked Aspect of a Watch\n5:10 Personal Favorite Watch Size\n6:30 Something Big Coming From Tudor?\n8:12 Chasing vs. Buying Watches\n10:59 Passing Down a Watch\n12:21 Opinion on New Grand Seiko UFA Diver\n13:42 Favorite Career Moment", "duration" => 981, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e061300 - The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A).mp4", "id" => "to0GC-tCqzI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=to0GC-tCqzI", "playlist_index" => 16, "timestamp" => 1781359235, "title" => "The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A)", "upload_date" => "20260613"} 04:00:13.374 [debug] QUERY OK source="sources" db=0.1ms idle=509.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:13.375 [debug] QUERY OK source="sources" db=0.1ms idle=509.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:13.377 [debug] QUERY OK source="media_items" db=1.7ms idle=509.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-13 14:00:35Z], 26] 04:00:13.377 [debug] QUERY OK source="media_items" db=0.7ms idle=493.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Register Your Interest in a Day with Grand Seiko 2026 here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nWant to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nWhy This Inexpensive Watch Is My Most Prized Possession:\nhttps://youtu.be/27D0Wmns9e0\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 How to Get on Real Collectors Series\n1:51 Most Meaningful Watch\n3:33 Most Overlooked Aspect of a Watch\n5:10 Personal Favorite Watch Size\n6:30 Something Big Coming From Tudor?\n8:12 Chasing vs. Buying Watches\n10:59 Passing Down a Watch\n12:21 Opinion on New Grand Seiko UFA Diver\n13:42 Favorite Career Moment", "The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A)", "111a4684-4162-428d-bbbd-8bb7cfc68af4", false, 26, [], 981, false, "to0GC-tCqzI", "https://www.youtube.com/watch?v=to0GC-tCqzI", 16, "/downloads/Teddy Baldassarre/Season 2026/s2026e061300 - The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A).mp4", false, false, 98, ~U[2026-06-13 14:00:35Z], ~U[2026-08-05 02:00:13Z], ~U[2026-08-05 02:00:13Z], "Register Your Interest in a Day with Grand Seiko 2026 here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nWant to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nWhy This Inexpensive Watch Is My Most Prized Possession:\nhttps://youtu.be/27D0Wmns9e0\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 How to Get on Real Collectors Series\n1:51 Most Meaningful Watch\n3:33 Most Overlooked Aspect of a Watch\n5:10 Personal Favorite Watch Size\n6:30 Something Big Coming From Tudor?\n8:12 Chasing vs. Buying Watches\n10:59 Passing Down a Watch\n12:21 Opinion on New Grand Seiko UFA Diver\n13:42 Favorite Career Moment", "The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A)", 26, 981, false, "to0GC-tCqzI", "https://www.youtube.com/watch?v=to0GC-tCqzI", "/downloads/Teddy Baldassarre/Season 2026/s2026e061300 - The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A).mp4", false, ~U[2026-06-13 14:00:35Z]] 04:00:13.378 [debug] QUERY OK source="sources" db=0.1ms idle=488.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:13.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:13.378 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5066723] 04:00:13.378 [debug] Current batch of media processed. Will check again in 1000ms 04:00:14.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Want to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:27 Hamilton\n4:08 A. Lange & Söhne\n6:27 Seiko\n8:05 IWC\n9:57 JLC\n11:16 Seiko\n13:03 Parmigiani\n14:30 Omega\n15:56 Glashütte Original\n17:52 Patek Philippe\n18:53 IWC\n20:03 Piaget\n21:49 Bvlgari\n23:20 Brew\n25:11 Vacheron Constantin\n26:43 Squale\n28:33 Santurce", "duration" => 1921, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e060900 - The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More).mp4", "id" => "03je8DWgrz4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=03je8DWgrz4", "playlist_index" => 17, "timestamp" => 1781013610, "title" => "The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More)", "upload_date" => "20260609"} 04:00:14.380 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:14.380 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:14.382 [debug] QUERY OK source="media_items" db=2.1ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-09 14:00:10Z], 26] 04:00:14.383 [debug] QUERY OK source="media_items" db=0.8ms idle=497.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Want to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:27 Hamilton\n4:08 A. Lange & Söhne\n6:27 Seiko\n8:05 IWC\n9:57 JLC\n11:16 Seiko\n13:03 Parmigiani\n14:30 Omega\n15:56 Glashütte Original\n17:52 Patek Philippe\n18:53 IWC\n20:03 Piaget\n21:49 Bvlgari\n23:20 Brew\n25:11 Vacheron Constantin\n26:43 Squale\n28:33 Santurce", "The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More)", "9ffefaa0-2d0b-4bcb-8d03-9f63601cd89d", false, 26, [], 1921, false, "03je8DWgrz4", "https://www.youtube.com/watch?v=03je8DWgrz4", 17, "/downloads/Teddy Baldassarre/Season 2026/s2026e060900 - The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More).mp4", false, false, 98, ~U[2026-06-09 14:00:10Z], ~U[2026-08-05 02:00:14Z], ~U[2026-08-05 02:00:14Z], "Want to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:27 Hamilton\n4:08 A. Lange & Söhne\n6:27 Seiko\n8:05 IWC\n9:57 JLC\n11:16 Seiko\n13:03 Parmigiani\n14:30 Omega\n15:56 Glashütte Original\n17:52 Patek Philippe\n18:53 IWC\n20:03 Piaget\n21:49 Bvlgari\n23:20 Brew\n25:11 Vacheron Constantin\n26:43 Squale\n28:33 Santurce", "The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More)", 26, 1921, false, "03je8DWgrz4", "https://www.youtube.com/watch?v=03je8DWgrz4", "/downloads/Teddy Baldassarre/Season 2026/s2026e060900 - The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More).mp4", false, ~U[2026-06-09 14:00:10Z]] 04:00:14.384 [debug] QUERY OK source="sources" db=0.1ms idle=492.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:14.384 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:14.384 [debug] QUERY OK source="media_items" db=0.1ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5052758] 04:00:14.384 [debug] Current batch of media processed. Will check again in 1000ms 04:00:15.385 [debug] Current batch of media processed. Will check again in 1000ms 04:00:16.386 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:51 Dial\n3:40 Case & Wear\n6:13 Movement\n7:55 Final Thoughts", "duration" => 753, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e060600 - The New Seiko Polar GMT SSK059.mp4", "id" => "9ONBFXh2D1I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9ONBFXh2D1I", "playlist_index" => 18, "timestamp" => 1780754400, "title" => "The New Seiko Polar GMT SSK059", "upload_date" => "20260606"} 04:00:16.386 [debug] QUERY OK source="sources" db=0.1ms idle=521.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:16.387 [debug] QUERY OK source="sources" db=0.0ms idle=521.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:16.388 [debug] QUERY OK source="media_items" db=1.6ms idle=521.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 14:00:00Z], 26] 04:00:16.389 [debug] QUERY OK source="media_items" db=0.6ms idle=500.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:51 Dial\n3:40 Case & Wear\n6:13 Movement\n7:55 Final Thoughts", "The New Seiko Polar GMT SSK059", "6be2b3d1-517a-48e7-a872-6786313d10e0", false, 26, [], 753, false, "9ONBFXh2D1I", "https://www.youtube.com/watch?v=9ONBFXh2D1I", 18, "/downloads/Teddy Baldassarre/Season 2026/s2026e060600 - The New Seiko Polar GMT SSK059.mp4", false, false, 98, ~U[2026-06-06 14:00:00Z], ~U[2026-08-05 02:00:16Z], ~U[2026-08-05 02:00:16Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:51 Dial\n3:40 Case & Wear\n6:13 Movement\n7:55 Final Thoughts", "The New Seiko Polar GMT SSK059", 26, 753, false, "9ONBFXh2D1I", "https://www.youtube.com/watch?v=9ONBFXh2D1I", "/downloads/Teddy Baldassarre/Season 2026/s2026e060600 - The New Seiko Polar GMT SSK059.mp4", false, ~U[2026-06-06 14:00:00Z]] 04:00:16.389 [debug] QUERY OK source="sources" db=0.1ms idle=495.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:16.390 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:16.390 [debug] QUERY OK source="media_items" db=0.1ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5041649] 04:00:16.390 [debug] Current batch of media processed. Will check again in 1000ms 04:00:17.004 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:17.391 [debug] Current batch of media processed. Will check again in 1000ms 04:00:18.392 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Request an invite to A Day with Grand Seiko here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:25 A Day with Grand Seiko\n4:30 Case & Wear\n7:11 Dial\n9:10 Movement\n12:13 Final Thoughts", "duration" => 945, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e060200 - The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300.mp4", "id" => "R2kmoTZlQo0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R2kmoTZlQo0", "playlist_index" => 19, "timestamp" => 1780408814, "title" => "The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300", "upload_date" => "20260602"} 04:00:18.392 [debug] QUERY OK source="sources" db=0.1ms idle=1388.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:18.393 [debug] QUERY OK source="sources" db=0.1ms idle=527.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:18.395 [debug] QUERY OK source="media_items" db=1.6ms idle=527.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 14:00:14Z], 26] 04:00:18.396 [debug] QUERY OK source="media_items" db=0.7ms idle=505.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Request an invite to A Day with Grand Seiko here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:25 A Day with Grand Seiko\n4:30 Case & Wear\n7:11 Dial\n9:10 Movement\n12:13 Final Thoughts", "The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300", "b5b99884-f230-4b02-8bff-4662f9f4193b", false, 26, [], 945, false, "R2kmoTZlQo0", "https://www.youtube.com/watch?v=R2kmoTZlQo0", 19, "/downloads/Teddy Baldassarre/Season 2026/s2026e060200 - The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300.mp4", false, false, 98, ~U[2026-06-02 14:00:14Z], ~U[2026-08-05 02:00:18Z], ~U[2026-08-05 02:00:18Z], "Request an invite to A Day with Grand Seiko here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:25 A Day with Grand Seiko\n4:30 Case & Wear\n7:11 Dial\n9:10 Movement\n12:13 Final Thoughts", "The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300", 26, 945, false, "R2kmoTZlQo0", "https://www.youtube.com/watch?v=R2kmoTZlQo0", "/downloads/Teddy Baldassarre/Season 2026/s2026e060200 - The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300.mp4", false, ~U[2026-06-02 14:00:14Z]] 04:00:18.396 [debug] QUERY OK source="sources" db=0.1ms idle=500.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:18.396 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:18.397 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5026771] 04:00:18.397 [debug] Current batch of media processed. Will check again in 1000ms 04:00:19.397 [debug] Current batch of media processed. Will check again in 1000ms 04:00:20.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:35 Selections\n17:19 Judging", "duration" => 1296, "filename" => "/downloads/Teddy Baldassarre/Season 2026/s2026e053000 - Building A Complete Watch Collection With Tudor.mp4", "id" => "i2pJBRcibzg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i2pJBRcibzg", "playlist_index" => 20, "timestamp" => 1780149625, "title" => "Building A Complete Watch Collection With Tudor", "upload_date" => "20260530"} 04:00:20.398 [debug] QUERY OK source="sources" db=0.1ms idle=533.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:20.399 [debug] QUERY OK source="sources" db=0.2ms idle=533.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.402 [debug] QUERY OK source="media_items" db=2.7ms idle=534.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:00:25Z], 26] 04:00:20.403 [debug] QUERY OK source="media_items" db=0.8ms idle=509.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:35 Selections\n17:19 Judging", "Building A Complete Watch Collection With Tudor", "f2e3b05c-4910-4d27-a061-94f9295bba0e", false, 26, [], 1296, false, "i2pJBRcibzg", "https://www.youtube.com/watch?v=i2pJBRcibzg", 20, "/downloads/Teddy Baldassarre/Season 2026/s2026e053000 - Building A Complete Watch Collection With Tudor.mp4", false, false, 98, ~U[2026-05-30 14:00:25Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:35 Selections\n17:19 Judging", "Building A Complete Watch Collection With Tudor", 26, 1296, false, "i2pJBRcibzg", "https://www.youtube.com/watch?v=i2pJBRcibzg", "/downloads/Teddy Baldassarre/Season 2026/s2026e053000 - Building A Complete Watch Collection With Tudor.mp4", false, ~U[2026-05-30 14:00:25Z]] 04:00:20.403 [debug] QUERY OK source="sources" db=0.1ms idle=504.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.404 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:20.404 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5015696] 04:00:20.404 [debug] Current batch of media processed. Will check again in 1000ms 04:00:20.796 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TeddyBaldassarre --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Teddy Baldassarre/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/34/4a/344aa3812114d30180e5e35efbd07838a12f36ecb913a1e5427b498ad1fd7641.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4c/2f/4c2fee41bf16638639d612068c3ea9737484b2476fe9de150d353996ae16c28b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:00:20.797 [debug] Gracefully stopping file follower 04:00:20.798 [debug] QUERY OK source="sources" db=0.5ms idle=395.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [26] 04:00:20.798 [debug] QUERY OK source="sources" db=0.1ms idle=394.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.800 [debug] QUERY OK source="media_items" db=2.0ms idle=394.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 14:00:06Z], 26] 04:00:20.801 [debug] QUERY OK source="media_items" db=0.5ms idle=396.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:13 TAG Heuer\n4:30 Timex\n5:16 Gruen\n5:56 Raymond Weil\n6:44 Omega\n8:11 Seiko\n10:12 Hamilton\n12:12 Studio Underd0g\n13:54 Timex\n15:00 Casio\n16:19 Hamilton\n19:09 Kuoe\n21:06 Accutron\n23:00 Seiko", "The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE)", "26912e4d-bb6b-4e51-98e5-442700d82eb1", false, 26, [], 1536, false, "QwPANSKjVA0", "https://www.youtube.com/watch?v=QwPANSKjVA0", 1, "/downloads/Teddy Baldassarre/Season 2026/s2026e080400 - The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE).mp4", false, false, 98, ~U[2026-08-04 14:00:06Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:13 TAG Heuer\n4:30 Timex\n5:16 Gruen\n5:56 Raymond Weil\n6:44 Omega\n8:11 Seiko\n10:12 Hamilton\n12:12 Studio Underd0g\n13:54 Timex\n15:00 Casio\n16:19 Hamilton\n19:09 Kuoe\n21:06 Accutron\n23:00 Seiko", "The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE)", 26, 1536, false, "QwPANSKjVA0", "https://www.youtube.com/watch?v=QwPANSKjVA0", "/downloads/Teddy Baldassarre/Season 2026/s2026e080400 - The Watches Of A Teacher (Hamilton, Omega, Studio Underd0g & MORE).mp4", false, ~U[2026-08-04 14:00:06Z]] 04:00:20.801 [debug] QUERY OK source="sources" db=0.1ms idle=396.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.803 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 14:00:34Z], 26] 04:00:20.804 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n2:15 Shopping\n19:09 Judging", "Building a Collection with $10,000", "188381e8-7fb7-4205-af67-2f94ec99d393", false, 26, [], 1597, false, "sTMel7WQi3Y", "https://www.youtube.com/watch?v=sTMel7WQi3Y", 2, "/downloads/Teddy Baldassarre/Season 2026/s2026e080100 - Building a Collection with $10,000.mp4", false, false, 98, ~U[2026-08-01 14:00:34Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n2:15 Shopping\n19:09 Judging", "Building a Collection with $10,000", 26, 1597, false, "sTMel7WQi3Y", "https://www.youtube.com/watch?v=sTMel7WQi3Y", "/downloads/Teddy Baldassarre/Season 2026/s2026e080100 - Building a Collection with $10,000.mp4", false, ~U[2026-08-01 14:00:34Z]] 04:00:20.804 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.805 [debug] QUERY OK source="media_items" db=1.3ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 14:00:38Z], 26] 04:00:20.806 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n3:02 Case & Wear\n6:33 Dial\n7:43 Movement\n9:47 Closing Thoughts", "I Loved This Watch But Wouldn’t Buy It…. Until Now", "f126f854-6449-46e1-a48c-3d19386093af", false, 26, [], 865, false, "TLHbIjl2cTs", "https://www.youtube.com/watch?v=TLHbIjl2cTs", 3, "/downloads/Teddy Baldassarre/Season 2026/s2026e072800 - I Loved This Watch But Wouldn’t Buy It…. Until Now.mp4", false, false, 98, ~U[2026-07-28 14:00:38Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n3:02 Case & Wear\n6:33 Dial\n7:43 Movement\n9:47 Closing Thoughts", "I Loved This Watch But Wouldn’t Buy It…. Until Now", 26, 865, false, "TLHbIjl2cTs", "https://www.youtube.com/watch?v=TLHbIjl2cTs", "/downloads/Teddy Baldassarre/Season 2026/s2026e072800 - I Loved This Watch But Wouldn’t Buy It…. Until Now.mp4", false, ~U[2026-07-28 14:00:38Z]] 04:00:20.806 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.808 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 14:00:27Z], 26] 04:00:20.809 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stream How a Two-Million-Dollar Watch is Made here:\nhttp://teddybaldassarre.com/million-dollar-watch\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 Two-Million-Dollar Watch\n1:49 Vacheron Constantin\n4:29 Seiko 5\n6:48 Christopher Ward\n8:47 Royal Oak + Nautilus\n14:22 Grand Seiko\n16:50 Louis Vuitton\n18:41 A. Lange & Söhne\n21:20 Rolex", "The Watches We Were Wrong About", "6bafaebb-dc05-4861-8554-c387f38943b1", false, 26, [], 1441, false, "viCWyD1Pe9w", "https://www.youtube.com/watch?v=viCWyD1Pe9w", 4, "/downloads/Teddy Baldassarre/Season 2026/s2026e072500 - The Watches We Were Wrong About.mp4", false, false, 98, ~U[2026-07-25 14:00:27Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Stream How a Two-Million-Dollar Watch is Made here:\nhttp://teddybaldassarre.com/million-dollar-watch\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 Two-Million-Dollar Watch\n1:49 Vacheron Constantin\n4:29 Seiko 5\n6:48 Christopher Ward\n8:47 Royal Oak + Nautilus\n14:22 Grand Seiko\n16:50 Louis Vuitton\n18:41 A. Lange & Söhne\n21:20 Rolex", "The Watches We Were Wrong About", 26, 1441, false, "viCWyD1Pe9w", "https://www.youtube.com/watch?v=viCWyD1Pe9w", "/downloads/Teddy Baldassarre/Season 2026/s2026e072500 - The Watches We Were Wrong About.mp4", false, ~U[2026-07-25 14:00:27Z]] 04:00:20.809 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.810 [debug] QUERY OK source="media_items" db=1.2ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 14:00:39Z], 26] 04:00:20.812 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Download your free copy of our Tudor E-book here:\nhttp://teddybaldassarre.com/tudor-e-book\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:31 Case & Wear\n4:47 Dial\n6:09 Movement\n8:01 Final Thoughts", "I Didn't Expect This From Tudor", "10cc8af2-45b3-474b-9261-746bd5f740d2", false, 26, [], 745, false, "2NU1q9MiS8w", "https://www.youtube.com/watch?v=2NU1q9MiS8w", 5, "/downloads/Teddy Baldassarre/Season 2026/s2026e072100 - I Didn't Expect This From Tudor.mp4", false, false, 98, ~U[2026-07-21 14:00:39Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Download your free copy of our Tudor E-book here:\nhttp://teddybaldassarre.com/tudor-e-book\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:31 Case & Wear\n4:47 Dial\n6:09 Movement\n8:01 Final Thoughts", "I Didn't Expect This From Tudor", 26, 745, false, "2NU1q9MiS8w", "https://www.youtube.com/watch?v=2NU1q9MiS8w", "/downloads/Teddy Baldassarre/Season 2026/s2026e072100 - I Didn't Expect This From Tudor.mp4", false, ~U[2026-07-21 14:00:39Z]] 04:00:20.812 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.814 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-18 14:00:25Z], 26] 04:00:20.814 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Follow along with all the watches in the tournament using this article on the blog:\nhttps://teddybaldassarre.com/blogs/watches/tissot-tournament\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:32 The Playing Field\n7:08 Round of 32\n11:06 Round of 16\n4:12 Round of 8\n15:15 Final Four\n17:11 Championship Matchup", "Determining the Best Tissot Watch - Subscriber Tournament", "a2f0bd2f-cfb2-442e-a0a4-e588debe1159", false, 26, [], 1255, false, "ByDdFLgqvKA", "https://www.youtube.com/watch?v=ByDdFLgqvKA", 6, "/downloads/Teddy Baldassarre/Season 2026/s2026e071800 - Determining the Best Tissot Watch - Subscriber Tournament.mp4", false, false, 98, ~U[2026-07-18 14:00:25Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Follow along with all the watches in the tournament using this article on the blog:\nhttps://teddybaldassarre.com/blogs/watches/tissot-tournament\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:32 The Playing Field\n7:08 Round of 32\n11:06 Round of 16\n4:12 Round of 8\n15:15 Final Four\n17:11 Championship Matchup", "Determining the Best Tissot Watch - Subscriber Tournament", 26, 1255, false, "ByDdFLgqvKA", "https://www.youtube.com/watch?v=ByDdFLgqvKA", "/downloads/Teddy Baldassarre/Season 2026/s2026e071800 - Determining the Best Tissot Watch - Subscriber Tournament.mp4", false, ~U[2026-07-18 14:00:25Z]] 04:00:20.815 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.816 [debug] QUERY OK source="media_items" db=1.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 14:00:15Z], 26] 04:00:20.817 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nShop Dive Watches:\nhttps://teddybaldassarre.com/collections/all-dive-watches\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 What is a Dive Watch?\n1:35 The Rise of the Waterproof Watch\n7:16 The First Modern Dive Watches\n15:00 New Depths & New Design Frontiers\n24:52 Dive Watches Go Extreme (And Mainstream)\n31:19 Tools Yesterday, Luxury Items Today\n40:00 Dive Watches Today", "The Dive Watches That Changed Everything", "47525cb9-c96a-4883-95a8-b2b9be67a068", false, 26, [], 2625, false, "GI84ZQpo8ZU", "https://www.youtube.com/watch?v=GI84ZQpo8ZU", 7, "/downloads/Teddy Baldassarre/Season 2026/s2026e071600 - The Dive Watches That Changed Everything.mp4", false, false, 98, ~U[2026-07-16 14:00:15Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nShop Dive Watches:\nhttps://teddybaldassarre.com/collections/all-dive-watches\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 What is a Dive Watch?\n1:35 The Rise of the Waterproof Watch\n7:16 The First Modern Dive Watches\n15:00 New Depths & New Design Frontiers\n24:52 Dive Watches Go Extreme (And Mainstream)\n31:19 Tools Yesterday, Luxury Items Today\n40:00 Dive Watches Today", "The Dive Watches That Changed Everything", 26, 2625, false, "GI84ZQpo8ZU", "https://www.youtube.com/watch?v=GI84ZQpo8ZU", "/downloads/Teddy Baldassarre/Season 2026/s2026e071600 - The Dive Watches That Changed Everything.mp4", false, ~U[2026-07-16 14:00:15Z]] 04:00:20.818 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.819 [debug] QUERY OK source="media_items" db=1.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 14:00:13Z], 26] 04:00:20.820 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Read about our Top Watches Under $300 on the blog here:\nhttps://teddybaldassarre.com/blogs/watches/best-watches-under-300\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 Top Watches Under $300 Blog\n1:28 Tissot\n4:35 Citizen\n5:59 Bulova\n7:21 Seiko\n10:38 Hamilton\n11:41 Timex\n13:07 Laco\n14:21 Marathon\n15:30 Swatch\n16:30 Microbrands", "What $500 Buys You in Watches in 2026", "b6b49482-33c2-46df-8678-fdd9ac7535bf", false, 26, [], 1349, false, "pZ62fpeW760", "https://www.youtube.com/watch?v=pZ62fpeW760", 8, "/downloads/Teddy Baldassarre/Season 2026/s2026e071100 - What $500 Buys You in Watches in 2026.mp4", false, false, 98, ~U[2026-07-11 14:00:13Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Read about our Top Watches Under $300 on the blog here:\nhttps://teddybaldassarre.com/blogs/watches/best-watches-under-300\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:54 Top Watches Under $300 Blog\n1:28 Tissot\n4:35 Citizen\n5:59 Bulova\n7:21 Seiko\n10:38 Hamilton\n11:41 Timex\n13:07 Laco\n14:21 Marathon\n15:30 Swatch\n16:30 Microbrands", "What $500 Buys You in Watches in 2026", 26, 1349, false, "pZ62fpeW760", "https://www.youtube.com/watch?v=pZ62fpeW760", "/downloads/Teddy Baldassarre/Season 2026/s2026e071100 - What $500 Buys You in Watches in 2026.mp4", false, ~U[2026-07-11 14:00:13Z]] 04:00:20.821 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.822 [debug] QUERY OK source="media_items" db=1.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 14:00:08Z], 26] 04:00:20.823 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Read more about the best French brands here:\nhttps://teddybaldassarre.com/blogs/watches/french-watch-brands\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:58 Cartier\n3:18 Hermès \n5:03 Baltic\n6:15 Beaubleu\n7:08 Yema\n8:11 Bell & Ross \n9:10 Pequignet\n10:12 Serica\n11:10 Hegid\n11:51 Depancel\n12:50 Théo Auffret\n13:50 Merci\n14:40 Trilobe\n15:43 Awake\n16:39 Reservoir\n17:36 L. Leroy \n18:44 Rémy Cools\n19:40 Sartory Billard\n20:46 Semper & Adhuc\n21:41 Louis Vuitton", "The Best French Watch Brands (20 Brands Featured)", "57503bb6-0f33-4c63-a0eb-2c92cad26fb5", false, 26, [], 1462, false, "QTf5XF3CwJY", "https://www.youtube.com/watch?v=QTf5XF3CwJY", 9, "/downloads/Teddy Baldassarre/Season 2026/s2026e070800 - The Best French Watch Brands (20 Brands Featured).mp4", false, false, 98, ~U[2026-07-08 14:00:08Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Read more about the best French brands here:\nhttps://teddybaldassarre.com/blogs/watches/french-watch-brands\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:58 Cartier\n3:18 Hermès \n5:03 Baltic\n6:15 Beaubleu\n7:08 Yema\n8:11 Bell & Ross \n9:10 Pequignet\n10:12 Serica\n11:10 Hegid\n11:51 Depancel\n12:50 Théo Auffret\n13:50 Merci\n14:40 Trilobe\n15:43 Awake\n16:39 Reservoir\n17:36 L. Leroy \n18:44 Rémy Cools\n19:40 Sartory Billard\n20:46 Semper & Adhuc\n21:41 Louis Vuitton", "The Best French Watch Brands (20 Brands Featured)", 26, 1462, false, "QTf5XF3CwJY", "https://www.youtube.com/watch?v=QTf5XF3CwJY", "/downloads/Teddy Baldassarre/Season 2026/s2026e070800 - The Best French Watch Brands (20 Brands Featured).mp4", false, ~U[2026-07-08 14:00:08Z]] 04:00:20.823 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.825 [debug] QUERY OK source="media_items" db=1.2ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 14:00:14Z], 26] 04:00:20.826 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, Executive Producer Jonathan McWhorter gives a closer look at his latest watch purchase: a $42 watch made in India. The Terra by Delhi Watch Co. created a lot of unexpected buzz on social media when it was announced earlier this year, Jonathan bought the new Terra in Titanium by Indian microbrand Delhi Watch Company to see if the watch really lived up to the hype.\n\nRead more about the best watch brands from India on our blog here:\n\nhttps://teddybaldassarre.com/blogs/watches/top-10-watch-brands-in-india\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:01 Case & Wear\n5:15 Dial\n6:19 Movement\n6:50 Final Thoughts", "We Bought a $42 Watch From India", "eb5e7014-f115-44cf-89cf-520dfdca51d2", false, 26, [], 601, false, "F0_4kXczJQM", "https://www.youtube.com/watch?v=F0_4kXczJQM", 10, "/downloads/Teddy Baldassarre/Season 2026/s2026e070500 - We Bought a $42 Watch From India.mp4", false, false, 98, ~U[2026-07-05 14:00:14Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "In today's video, Executive Producer Jonathan McWhorter gives a closer look at his latest watch purchase: a $42 watch made in India. The Terra by Delhi Watch Co. created a lot of unexpected buzz on social media when it was announced earlier this year, Jonathan bought the new Terra in Titanium by Indian microbrand Delhi Watch Company to see if the watch really lived up to the hype.\n\nRead more about the best watch brands from India on our blog here:\n\nhttps://teddybaldassarre.com/blogs/watches/top-10-watch-brands-in-india\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:01 Case & Wear\n5:15 Dial\n6:19 Movement\n6:50 Final Thoughts", "We Bought a $42 Watch From India", 26, 601, false, "F0_4kXczJQM", "https://www.youtube.com/watch?v=F0_4kXczJQM", "/downloads/Teddy Baldassarre/Season 2026/s2026e070500 - We Bought a $42 Watch From India.mp4", false, ~U[2026-07-05 14:00:14Z]] 04:00:20.826 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.828 [debug] QUERY OK source="media_items" db=1.2ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-30 14:00:10Z], 26] 04:00:20.828 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:30 Backstory\n2:57 Models\n7:45 Accessible High-Watchmaking", "An Attainable Japanese Independent Every Collector Should Know", "5c78d11d-50af-4e41-b236-6f93b3a5e773", false, 26, [], 736, false, "8RFDZueEdr4", "https://www.youtube.com/watch?v=8RFDZueEdr4", 11, "/downloads/Teddy Baldassarre/Season 2026/s2026e063000 - An Attainable Japanese Independent Every Collector Should Know.mp4", false, false, 98, ~U[2026-06-30 14:00:10Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:30 Backstory\n2:57 Models\n7:45 Accessible High-Watchmaking", "An Attainable Japanese Independent Every Collector Should Know", 26, 736, false, "8RFDZueEdr4", "https://www.youtube.com/watch?v=8RFDZueEdr4", "/downloads/Teddy Baldassarre/Season 2026/s2026e063000 - An Attainable Japanese Independent Every Collector Should Know.mp4", false, ~U[2026-06-30 14:00:10Z]] 04:00:20.829 [debug] QUERY OK source="sources" db=0.5ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.831 [debug] QUERY OK source="media_items" db=2.0ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 14:00:32Z], 26] 04:00:20.835 [debug] QUERY OK source="media_items" db=3.6ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stream The Mastery of Grand Seiko here for free:\nhttps://teddybaldassarre.com/mastery-of-grand-seiko\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 The Mastery of Grand Seiko\n1:50 Cartier\n3:04 Rolex\n5:36 Breitling\n7:58 Zenith\n9:13 Omega\n11:30 TAG Heuer\n12:32 Grand Seiko\n14:23 JLC\n15:26 Glashütte Original\n16:49 IWC\n19:32 Panerai", "What $10,000 Buys You in Watches in 2026", "8f72fb60-aa5d-47b2-af6e-bba663b9b65b", false, 26, [], 1377, false, "vYzMciWHcVY", "https://www.youtube.com/watch?v=vYzMciWHcVY", 12, "/downloads/Teddy Baldassarre/Season 2026/s2026e062700 - What $10,000 Buys You in Watches in 2026.mp4", false, false, 98, ~U[2026-06-27 14:00:32Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Stream The Mastery of Grand Seiko here for free:\nhttps://teddybaldassarre.com/mastery-of-grand-seiko\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:44 The Mastery of Grand Seiko\n1:50 Cartier\n3:04 Rolex\n5:36 Breitling\n7:58 Zenith\n9:13 Omega\n11:30 TAG Heuer\n12:32 Grand Seiko\n14:23 JLC\n15:26 Glashütte Original\n16:49 IWC\n19:32 Panerai", "What $10,000 Buys You in Watches in 2026", 26, 1377, false, "vYzMciWHcVY", "https://www.youtube.com/watch?v=vYzMciWHcVY", "/downloads/Teddy Baldassarre/Season 2026/s2026e062700 - What $10,000 Buys You in Watches in 2026.mp4", false, ~U[2026-06-27 14:00:32Z]] 04:00:20.836 [debug] QUERY OK source="sources" db=0.2ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.837 [debug] QUERY OK source="media_items" db=1.3ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 14:00:16Z], 26] 04:00:20.838 [debug] QUERY OK source="media_items" db=0.5ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:06 Industry Impact\n3:01 History of Casio\n6:47 Creation of the F91W\n9:09 Release, Evolution", "The Most Successful Watch Ever Made", "16de3a67-3425-405b-9b8b-a3bd19568a90", false, 26, [], 1007, false, "rwLx9O1koR4", "https://www.youtube.com/watch?v=rwLx9O1koR4", 13, "/downloads/Teddy Baldassarre/Season 2026/s2026e062300 - The Most Successful Watch Ever Made.mp4", false, false, 98, ~U[2026-06-23 14:00:16Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:06 Industry Impact\n3:01 History of Casio\n6:47 Creation of the F91W\n9:09 Release, Evolution", "The Most Successful Watch Ever Made", 26, 1007, false, "rwLx9O1koR4", "https://www.youtube.com/watch?v=rwLx9O1koR4", "/downloads/Teddy Baldassarre/Season 2026/s2026e062300 - The Most Successful Watch Ever Made.mp4", false, ~U[2026-06-23 14:00:16Z]] 04:00:20.839 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.840 [debug] QUERY OK source="media_items" db=1.4ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 14:00:01Z], 26] 04:00:20.841 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Father's Day. Thank you all for all of the support over the years.\n\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1", "The Watch I Am Giving My Son", "3e45c172-25ee-4455-9216-e689bfb7c1c7", false, 26, [], 185, false, "EfzeChu6_Kc", "https://www.youtube.com/watch?v=EfzeChu6_Kc", 14, "/downloads/Teddy Baldassarre/Season 2026/s2026e062100 - The Watch I Am Giving My Son.mp4", false, false, 98, ~U[2026-06-21 14:00:01Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Happy Father's Day. Thank you all for all of the support over the years.\n\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1", "The Watch I Am Giving My Son", 26, 185, false, "EfzeChu6_Kc", "https://www.youtube.com/watch?v=EfzeChu6_Kc", "/downloads/Teddy Baldassarre/Season 2026/s2026e062100 - The Watch I Am Giving My Son.mp4", false, ~U[2026-06-21 14:00:01Z]] 04:00:20.841 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.843 [debug] QUERY OK source="media_items" db=1.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 14:00:30Z], 26] 04:00:20.844 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n1:49 Selections\n17:07 Judging", "Building a Complete Collection with Omega", "663692bb-dcfa-4e40-b173-b146677bc201", false, 26, [], 1337, false, "cubeDXmHSYs", "https://www.youtube.com/watch?v=cubeDXmHSYs", 15, "/downloads/Teddy Baldassarre/Season 2026/s2026e061600 - Building a Complete Collection with Omega.mp4", false, false, 98, ~U[2026-06-16 14:00:30Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro + Rules\n1:49 Selections\n17:07 Judging", "Building a Complete Collection with Omega", 26, 1337, false, "cubeDXmHSYs", "https://www.youtube.com/watch?v=cubeDXmHSYs", "/downloads/Teddy Baldassarre/Season 2026/s2026e061600 - Building a Complete Collection with Omega.mp4", false, ~U[2026-06-16 14:00:30Z]] 04:00:20.844 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.846 [debug] QUERY OK source="media_items" db=1.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-13 14:00:35Z], 26] 04:00:20.847 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Register Your Interest in a Day with Grand Seiko 2026 here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nWant to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nWhy This Inexpensive Watch Is My Most Prized Possession:\nhttps://youtu.be/27D0Wmns9e0\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 How to Get on Real Collectors Series\n1:51 Most Meaningful Watch\n3:33 Most Overlooked Aspect of a Watch\n5:10 Personal Favorite Watch Size\n6:30 Something Big Coming From Tudor?\n8:12 Chasing vs. Buying Watches\n10:59 Passing Down a Watch\n12:21 Opinion on New Grand Seiko UFA Diver\n13:42 Favorite Career Moment", "The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A)", "eea95829-13cd-4caa-83a8-d3577f1d1272", false, 26, [], 981, false, "to0GC-tCqzI", "https://www.youtube.com/watch?v=to0GC-tCqzI", 16, "/downloads/Teddy Baldassarre/Season 2026/s2026e061300 - The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A).mp4", false, false, 98, ~U[2026-06-13 14:00:35Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Register Your Interest in a Day with Grand Seiko 2026 here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nWant to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nWhy This Inexpensive Watch Is My Most Prized Possession:\nhttps://youtu.be/27D0Wmns9e0\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 How to Get on Real Collectors Series\n1:51 Most Meaningful Watch\n3:33 Most Overlooked Aspect of a Watch\n5:10 Personal Favorite Watch Size\n6:30 Something Big Coming From Tudor?\n8:12 Chasing vs. Buying Watches\n10:59 Passing Down a Watch\n12:21 Opinion on New Grand Seiko UFA Diver\n13:42 Favorite Career Moment", "The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A)", 26, 981, false, "to0GC-tCqzI", "https://www.youtube.com/watch?v=to0GC-tCqzI", "/downloads/Teddy Baldassarre/Season 2026/s2026e061300 - The Most Valued Watch In My Collection? Most Overlooked Aspect of a Watch When Buying? (Q&A).mp4", false, ~U[2026-06-13 14:00:35Z]] 04:00:20.847 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.848 [debug] QUERY OK source="media_items" db=1.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-09 14:00:10Z], 26] 04:00:20.849 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Want to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:27 Hamilton\n4:08 A. Lange & Söhne\n6:27 Seiko\n8:05 IWC\n9:57 JLC\n11:16 Seiko\n13:03 Parmigiani\n14:30 Omega\n15:56 Glashütte Original\n17:52 Patek Philippe\n18:53 IWC\n20:03 Piaget\n21:49 Bvlgari\n23:20 Brew\n25:11 Vacheron Constantin\n26:43 Squale\n28:33 Santurce", "The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More)", "f1092ed5-4c9b-4968-b96b-42df037acfeb", false, 26, [], 1921, false, "03je8DWgrz4", "https://www.youtube.com/watch?v=03je8DWgrz4", 17, "/downloads/Teddy Baldassarre/Season 2026/s2026e060900 - The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More).mp4", false, false, 98, ~U[2026-06-09 14:00:10Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Want to be a part of our Real Collector Series? Submit here:\nhttps://forms.gle/TQPK27aJ3XATSmvR6\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:27 Hamilton\n4:08 A. Lange & Söhne\n6:27 Seiko\n8:05 IWC\n9:57 JLC\n11:16 Seiko\n13:03 Parmigiani\n14:30 Omega\n15:56 Glashütte Original\n17:52 Patek Philippe\n18:53 IWC\n20:03 Piaget\n21:49 Bvlgari\n23:20 Brew\n25:11 Vacheron Constantin\n26:43 Squale\n28:33 Santurce", "The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More)", 26, 1921, false, "03je8DWgrz4", "https://www.youtube.com/watch?v=03je8DWgrz4", "/downloads/Teddy Baldassarre/Season 2026/s2026e060900 - The Watches of a Lawyer (Seiko, Vacheron, Glashütte, & More).mp4", false, ~U[2026-06-09 14:00:10Z]] 04:00:20.850 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.851 [debug] QUERY OK source="media_items" db=1.5ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 14:00:00Z], 26] 04:00:20.852 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:51 Dial\n3:40 Case & Wear\n6:13 Movement\n7:55 Final Thoughts", "The New Seiko Polar GMT SSK059", "9c66a5da-5624-40b2-8131-e0c6013ba710", false, 26, [], 753, false, "9ONBFXh2D1I", "https://www.youtube.com/watch?v=9ONBFXh2D1I", 18, "/downloads/Teddy Baldassarre/Season 2026/s2026e060600 - The New Seiko Polar GMT SSK059.mp4", false, false, 98, ~U[2026-06-06 14:00:00Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n1:51 Dial\n3:40 Case & Wear\n6:13 Movement\n7:55 Final Thoughts", "The New Seiko Polar GMT SSK059", 26, 753, false, "9ONBFXh2D1I", "https://www.youtube.com/watch?v=9ONBFXh2D1I", "/downloads/Teddy Baldassarre/Season 2026/s2026e060600 - The New Seiko Polar GMT SSK059.mp4", false, ~U[2026-06-06 14:00:00Z]] 04:00:20.853 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.854 [debug] QUERY OK source="media_items" db=1.5ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 14:00:14Z], 26] 04:00:20.855 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Request an invite to A Day with Grand Seiko here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:25 A Day with Grand Seiko\n4:30 Case & Wear\n7:11 Dial\n9:10 Movement\n12:13 Final Thoughts", "The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300", "be21289e-b10d-468a-a208-b67f7e45a80b", false, 26, [], 945, false, "R2kmoTZlQo0", "https://www.youtube.com/watch?v=R2kmoTZlQo0", 19, "/downloads/Teddy Baldassarre/Season 2026/s2026e060200 - The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300.mp4", false, false, 98, ~U[2026-06-02 14:00:14Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Request an invite to A Day with Grand Seiko here:\nhttps://teddybaldassarre.com/blogs/events/grand-seiko-event-registration\n\nShop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:25 A Day with Grand Seiko\n4:30 Case & Wear\n7:11 Dial\n9:10 Movement\n12:13 Final Thoughts", "The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300", 26, 945, false, "R2kmoTZlQo0", "https://www.youtube.com/watch?v=R2kmoTZlQo0", "/downloads/Teddy Baldassarre/Season 2026/s2026e060200 - The New Standard for Japanese Luxury Dive Watches - Grand Seiko Ushio 300.mp4", false, ~U[2026-06-02 14:00:14Z]] 04:00:20.855 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.857 [debug] QUERY OK source="media_items" db=1.5ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:00:25Z], 26] 04:00:20.858 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:35 Selections\n17:19 Judging", "Building A Complete Watch Collection With Tudor", "98ed44f2-e927-42cc-acd1-2b92d5ddacfb", false, 26, [], 1296, false, "i2pJBRcibzg", "https://www.youtube.com/watch?v=i2pJBRcibzg", 20, "/downloads/Teddy Baldassarre/Season 2026/s2026e053000 - Building A Complete Watch Collection With Tudor.mp4", false, false, 98, ~U[2026-05-30 14:00:25Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n2:35 Selections\n17:19 Judging", "Building A Complete Watch Collection With Tudor", 26, 1296, false, "i2pJBRcibzg", "https://www.youtube.com/watch?v=i2pJBRcibzg", "/downloads/Teddy Baldassarre/Season 2026/s2026e053000 - Building A Complete Watch Collection With Tudor.mp4", false, ~U[2026-05-30 14:00:25Z]] 04:00:20.858 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.860 [debug] QUERY OK source="media_items" db=1.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 14:00:26Z], 26] 04:00:20.861 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:52 Backstory\n2:10 Case & Wear\n5:09 Dial\n6:57 Movement\n8:50 Final Thoughts", "The Most Complete Seiko Diver Under $1,000", "6c15c9c7-52d6-46f9-ac40-2eb679f86a72", false, 26, [], 718, false, "SRpxOtX8EVs", "https://www.youtube.com/watch?v=SRpxOtX8EVs", 21, "/downloads/Teddy Baldassarre/Season 2026/s2026e052600 - The Most Complete Seiko Diver Under $1,000.mp4", false, false, 98, ~U[2026-05-26 14:00:26Z], ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], "Shop Watches: https://teddybaldassarre.com/ \n\nStream My Documentaries & Exclusive Videos: https://teddybaldassarre.com/pages/member-signup\n\nInstagram: https://www.instagram.com/TeddyBaldassarre\nTiktok: https://www.tiktok.com/@teddybaldassarre\nFacebook: https://www.facebook.com/teddybaldassarre1\n\n0:00 Intro\n0:52 Backstory\n2:10 Case & Wear\n5:09 Dial\n6:57 Movement\n8:50 Final Thoughts", "The Most Complete Seiko Diver Under $1,000", 26, 718, false, "SRpxOtX8EVs", "https://www.youtube.com/watch?v=SRpxOtX8EVs", "/downloads/Teddy Baldassarre/Season 2026/s2026e052600 - The Most Complete Seiko Diver Under $1,000.mp4", false, ~U[2026-05-26 14:00:26Z]] 04:00:20.861 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z], 26] 04:00:20.863 [debug] QUERY OK source="media_items" db=1.5ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [26] 04:00:20.865 [debug] QUERY OK source="tasks" db=0.2ms idle=3.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133832, 5253085, ~U[2026-08-05 02:00:20Z], ~U[2026-08-05 02:00:20Z]] 04:00:20.866 [debug] QUERY OK source="media_items" db=1.5ms idle=3.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [26] 04:00:20.867 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [26] 04:00:20.867 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Teddy Baldassarre. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no 04:00:20.871 [info] {"args":{"id":5253085},"id":133832,"meta":{},"system_time":1785895220870985177,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:20.871 [debug] QUERY OK source="media_items" db=0.1ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5253085] 04:00:20.871 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:00:20.871 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 04:00:20.872 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:20.872 [debug] QUERY OK source="media_items" db=0.2ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253085] 04:00:20.873 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5253085] 04:00:20.873 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:20.873 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.874 [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 [] 04:00:20.874 [debug] Running yt-dlp command for action: get_downloadable_status 04:00:20.874 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.874 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.875 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QwPANSKjVA0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b4/17/b417d2ecced96c6614914df029884cef465d30440f71bda043acd5cee22975dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:21.252 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Teddy Baldassarre. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no exited: 0 with: 04:00:21.252 [info] Sent new media notification for source 26 04:00:21.253 [debug] QUERY OK source="tasks" db=0.1ms idle=378.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133833, 26, ~U[2026-08-05 02:00:21Z], ~U[2026-08-05 02:00:21Z]] 04:00:21.254 [info] {"args":{"id":26},"id":133323,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":34416062,"event":"job:stop","queue_time":605809,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:00:23.013 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QwPANSKjVA0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b4/17/b417d2ecced96c6614914df029884cef465d30440f71bda043acd5cee22975dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:00:23.013 [error] yt-dlp download error for media item #5253085: "WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:00:23.013 [error] yt-dlp download will not be retried: "WARNING: [youtube] QwPANSKjVA0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] QwPANSKjVA0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:00:23.013 [info] {"args":{"id":5253085},"id":133832,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2142540,"event":"job:stop","queue_time":870372,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:47.006 [info] {"source":"oban","duration":2507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.416 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:17.008 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:47.011 [info] {"source":"oban","duration":2265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.417 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:17.013 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:47.016 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.418 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:17.018 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:47.021 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.419 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:13.137 [info] {"args":{"id":56},"id":133328,"meta":{},"system_time":1785895453137266995,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:04:13.137 [debug] QUERY OK source="sources" db=0.1ms idle=272.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:13.138 [debug] QUERY OK source="settings" db=0.2ms idle=272.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.139 [debug] QUERY OK source="media_items" db=1.1ms idle=9.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [56] 04:04:13.140 [debug] QUERY OK source="media_items" db=1.2ms idle=3.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [56] 04:04:13.141 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:13.141 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.141 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.143 [debug] QUERY OK source="media_items" db=1.1ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [56] 04:04:13.143 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:04:13.143 [debug] Current batch of media processed. Will check again in 1000ms 04:04:13.144 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.144 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.144 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:13.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@FelixHentschel --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Felix Hentschel/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/12/00/12007481bc919b388934ae7cbed25d4dd0d19cf7d34207e9a532fc8f0ba806b9.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6b/9f/6b9f018b637662b1e95c6fa4ccfcaca19f8904daa80b7480b825069082f57fbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:14.144 [debug] Current batch of media processed. Will check again in 1000ms 04:04:15.145 [debug] Current batch of media processed. Will check again in 1000ms 04:04:16.146 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Nach 20 Jahren Leistungssport – von der Laufbahn zum Triathlon – wage ich mich auf völlig neues Terrain: Meinen ersten richtigen Trailrun beim Innsbruck Alpine Trailrun Festival (K35 Discovery Race)! 🏔️\n\nDie nackten Zahlen klingen wild: 37,8 km und über 2.100 Höhenmeter bergauf, aber fast 2.500 Meter bergab. Warum mich gerade der \"Downhill\" nervös macht und wie ich meine Vorbereitung in den verbleibenden 12 Wochen plane, erfahrt ihr in diesem Video.\n\nIch nehme euch mit bei meiner ersten Trail-Session im Schnee hoch zur Altenburg und mache am Schreibtisch den Deep-Dive:\n✅ Streckenanalyse via Strava (Segmente & Pace)\n✅ Profi-Einschätzung von Trail-Expertin Ida Sophie Hegemann\n\nSeid ihr schon mal einen Trail gelaufen? Was waren eure größten Fehler oder Learnings? Schreibt es mir in die Kommentare – ich kann jeden Tipp gebrauchen! 😂\n\nTimeline:\n00:00 20 Jahre Laufen: Zeit für was Neues!\n01:30 Bahn vs. Triathlon vs. Trail: Was ist der Unterschied?\n03:15 Die nackten Fakten: K35 Discovery Race Analyse\n05:40 Strava-Check: Wie schnell laufen die Profis?\n07:20 Pacing & Verpflegung am Berg\n08:45 Expertentalk mit Ida Sophie Hegemann\n10:30 Fazit & erste Trail-Session im Schnee\n\nIda-Sophie Hegemann: https://www.instagram.com/running_ida/\nHöhenmeter pro Kilometer Podcast: https://hmkm.podigee.io/\nInnsbruck Trail: https://innsbruckalpine.at/k35/\n\n#Trailrunning #InnsbruckAlpine #Laufen #\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "duration" => 529, "filename" => "/downloads/Felix Hentschel/Season 2026/s2026e020200 - Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️.mp4", "id" => "c4-dSe3XOHc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c4-dSe3XOHc", "playlist_index" => 1, "timestamp" => 1770043391, "title" => "Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️", "upload_date" => "20260202"} 04:04:16.146 [debug] QUERY OK source="sources" db=0.1ms idle=1281.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:16.147 [debug] QUERY OK source="sources" db=0.1ms idle=1015.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:16.147 [debug] QUERY OK source="media_items" db=0.4ms idle=1010.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 14:43:11Z], 56] 04:04:16.149 [debug] QUERY OK source="media_items" db=1.1ms idle=15.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach 20 Jahren Leistungssport – von der Laufbahn zum Triathlon – wage ich mich auf völlig neues Terrain: Meinen ersten richtigen Trailrun beim Innsbruck Alpine Trailrun Festival (K35 Discovery Race)! 🏔️\n\nDie nackten Zahlen klingen wild: 37,8 km und über 2.100 Höhenmeter bergauf, aber fast 2.500 Meter bergab. Warum mich gerade der \"Downhill\" nervös macht und wie ich meine Vorbereitung in den verbleibenden 12 Wochen plane, erfahrt ihr in diesem Video.\n\nIch nehme euch mit bei meiner ersten Trail-Session im Schnee hoch zur Altenburg und mache am Schreibtisch den Deep-Dive:\n✅ Streckenanalyse via Strava (Segmente & Pace)\n✅ Profi-Einschätzung von Trail-Expertin Ida Sophie Hegemann\n\nSeid ihr schon mal einen Trail gelaufen? Was waren eure größten Fehler oder Learnings? Schreibt es mir in die Kommentare – ich kann jeden Tipp gebrauchen! 😂\n\nTimeline:\n00:00 20 Jahre Laufen: Zeit für was Neues!\n01:30 Bahn vs. Triathlon vs. Trail: Was ist der Unterschied?\n03:15 Die nackten Fakten: K35 Discovery Race Analyse\n05:40 Strava-Check: Wie schnell laufen die Profis?\n07:20 Pacing & Verpflegung am Berg\n08:45 Expertentalk mit Ida Sophie Hegemann\n10:30 Fazit & erste Trail-Session im Schnee\n\nIda-Sophie Hegemann: https://www.instagram.com/running_ida/\nHöhenmeter pro Kilometer Podcast: https://hmkm.podigee.io/\nInnsbruck Trail: https://innsbruckalpine.at/k35/\n\n#Trailrunning #InnsbruckAlpine #Laufen #\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️", "81f6f461-3be7-4586-88c8-519e3ba9f609", false, 56, [], 529, false, "c4-dSe3XOHc", "https://www.youtube.com/watch?v=c4-dSe3XOHc", 1, "/downloads/Felix Hentschel/Season 2026/s2026e020200 - Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️.mp4", false, false, 98, ~U[2026-02-02 14:43:11Z], ~U[2026-08-05 02:04:16Z], ~U[2026-08-05 02:04:16Z], "Nach 20 Jahren Leistungssport – von der Laufbahn zum Triathlon – wage ich mich auf völlig neues Terrain: Meinen ersten richtigen Trailrun beim Innsbruck Alpine Trailrun Festival (K35 Discovery Race)! 🏔️\n\nDie nackten Zahlen klingen wild: 37,8 km und über 2.100 Höhenmeter bergauf, aber fast 2.500 Meter bergab. Warum mich gerade der \"Downhill\" nervös macht und wie ich meine Vorbereitung in den verbleibenden 12 Wochen plane, erfahrt ihr in diesem Video.\n\nIch nehme euch mit bei meiner ersten Trail-Session im Schnee hoch zur Altenburg und mache am Schreibtisch den Deep-Dive:\n✅ Streckenanalyse via Strava (Segmente & Pace)\n✅ Profi-Einschätzung von Trail-Expertin Ida Sophie Hegemann\n\nSeid ihr schon mal einen Trail gelaufen? Was waren eure größten Fehler oder Learnings? Schreibt es mir in die Kommentare – ich kann jeden Tipp gebrauchen! 😂\n\nTimeline:\n00:00 20 Jahre Laufen: Zeit für was Neues!\n01:30 Bahn vs. Triathlon vs. Trail: Was ist der Unterschied?\n03:15 Die nackten Fakten: K35 Discovery Race Analyse\n05:40 Strava-Check: Wie schnell laufen die Profis?\n07:20 Pacing & Verpflegung am Berg\n08:45 Expertentalk mit Ida Sophie Hegemann\n10:30 Fazit & erste Trail-Session im Schnee\n\nIda-Sophie Hegemann: https://www.instagram.com/running_ida/\nHöhenmeter pro Kilometer Podcast: https://hmkm.podigee.io/\nInnsbruck Trail: https://innsbruckalpine.at/k35/\n\n#Trailrunning #InnsbruckAlpine #Laufen #\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️", 56, 529, false, "c4-dSe3XOHc", "https://www.youtube.com/watch?v=c4-dSe3XOHc", "/downloads/Felix Hentschel/Season 2026/s2026e020200 - Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️.mp4", false, ~U[2026-02-02 14:43:11Z]] 04:04:16.149 [debug] QUERY OK source="sources" db=0.1ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:16.149 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:16.149 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4607343] 04:04:16.149 [debug] Current batch of media processed. Will check again in 1000ms 04:04:17.023 [info] {"source":"oban","duration":1826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:17.150 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Nach der Winterpause geht's wieder mit regelmäßigem Laufen los – aber mit 72kg auf der Waage und einer Schwelle, die weit von meinem Ziel entfernt ist. In diesem Video zeige ich euch meinen aktuellen Trainingsstand, meine erste Lauf-Threshold-Session seit Wochen und verrate, für welchen Trail Run ich mich angemeldet habe.\n\nEndurance High-Performance Coaching: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\n#laufen #marathon #trailrunning", "duration" => 467, "filename" => "/downloads/Felix Hentschel/Season 2026/s2026e011900 - Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2.mp4", "id" => "lpLvCOFFj9E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lpLvCOFFj9E", "playlist_index" => 2, "timestamp" => 1768827151, "title" => "Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2", "upload_date" => "20260119"} 04:04:17.150 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:17.151 [debug] QUERY OK source="sources" db=0.0ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:17.151 [debug] QUERY OK source="media_items" db=0.5ms idle=127.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 12:52:31Z], 56] 04:04:17.152 [debug] QUERY OK source="media_items" db=0.5ms idle=19.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach der Winterpause geht's wieder mit regelmäßigem Laufen los – aber mit 72kg auf der Waage und einer Schwelle, die weit von meinem Ziel entfernt ist. In diesem Video zeige ich euch meinen aktuellen Trainingsstand, meine erste Lauf-Threshold-Session seit Wochen und verrate, für welchen Trail Run ich mich angemeldet habe.\n\nEndurance High-Performance Coaching: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\n#laufen #marathon #trailrunning", "Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2", "23cb13c3-f76f-4b8d-8212-794d495dbf54", false, 56, [], 467, false, "lpLvCOFFj9E", "https://www.youtube.com/watch?v=lpLvCOFFj9E", 2, "/downloads/Felix Hentschel/Season 2026/s2026e011900 - Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2.mp4", false, false, 98, ~U[2026-01-19 12:52:31Z], ~U[2026-08-05 02:04:17Z], ~U[2026-08-05 02:04:17Z], "Nach der Winterpause geht's wieder mit regelmäßigem Laufen los – aber mit 72kg auf der Waage und einer Schwelle, die weit von meinem Ziel entfernt ist. In diesem Video zeige ich euch meinen aktuellen Trainingsstand, meine erste Lauf-Threshold-Session seit Wochen und verrate, für welchen Trail Run ich mich angemeldet habe.\n\nEndurance High-Performance Coaching: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\n#laufen #marathon #trailrunning", "Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2", 56, 467, false, "lpLvCOFFj9E", "https://www.youtube.com/watch?v=lpLvCOFFj9E", "/downloads/Felix Hentschel/Season 2026/s2026e011900 - Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2.mp4", false, ~U[2026-01-19 12:52:31Z]] 04:04:17.152 [debug] QUERY OK source="sources" db=0.1ms idle=14.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:17.153 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:17.153 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4561365] 04:04:17.153 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Das es mal so weit kommt, hätte ich auch nicht gedacht. Zumindest nicht so schnell. Aber ich hab mir das auch irgendwie selber eingebrockt - jetzt muss ich da durch, bzw. muss mich da raus-laufen. \n\nSport habe ich in den letzten sechs Monaten echt nicht viel gemacht. Ganz ohne Ziele, fehlte mir auch einfach die Motivation - \"nur\" Gesundheitssport? Geht irgendwie auch noch nicht. Zumindest kann das im Moment nicht der einzige Antrieb sein.\n#laufen #lauftraining \n\nMenschliches Coaching: schreibe mir bitte eine Mail an: coaching@felixhentschel.de und wir vereinbaren einen Termin für einen unverbindlichen Video-Call.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "duration" => 255, "filename" => "/downloads/Felix Hentschel/Season 2026/s2026e011200 - Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1.mp4", "id" => "KEsUyv0bQVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KEsUyv0bQVY", "playlist_index" => 3, "timestamp" => 1768238101, "title" => "Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1", "upload_date" => "20260112"} 04:04:17.153 [debug] QUERY OK source="sources" db=0.2ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:17.154 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:17.155 [debug] QUERY OK source="media_items" db=0.8ms idle=1.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 17:15:01Z], 56] 04:04:17.156 [debug] QUERY OK source="media_items" db=0.8ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Das es mal so weit kommt, hätte ich auch nicht gedacht. Zumindest nicht so schnell. Aber ich hab mir das auch irgendwie selber eingebrockt - jetzt muss ich da durch, bzw. muss mich da raus-laufen. \n\nSport habe ich in den letzten sechs Monaten echt nicht viel gemacht. Ganz ohne Ziele, fehlte mir auch einfach die Motivation - \"nur\" Gesundheitssport? Geht irgendwie auch noch nicht. Zumindest kann das im Moment nicht der einzige Antrieb sein.\n#laufen #lauftraining \n\nMenschliches Coaching: schreibe mir bitte eine Mail an: coaching@felixhentschel.de und wir vereinbaren einen Termin für einen unverbindlichen Video-Call.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1", "b015125d-fbcd-49de-a7e1-e2d4b92834e7", false, 56, [], 255, false, "KEsUyv0bQVY", "https://www.youtube.com/watch?v=KEsUyv0bQVY", 3, "/downloads/Felix Hentschel/Season 2026/s2026e011200 - Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1.mp4", false, false, 98, ~U[2026-01-12 17:15:01Z], ~U[2026-08-05 02:04:17Z], ~U[2026-08-05 02:04:17Z], "Das es mal so weit kommt, hätte ich auch nicht gedacht. Zumindest nicht so schnell. Aber ich hab mir das auch irgendwie selber eingebrockt - jetzt muss ich da durch, bzw. muss mich da raus-laufen. \n\nSport habe ich in den letzten sechs Monaten echt nicht viel gemacht. Ganz ohne Ziele, fehlte mir auch einfach die Motivation - \"nur\" Gesundheitssport? Geht irgendwie auch noch nicht. Zumindest kann das im Moment nicht der einzige Antrieb sein.\n#laufen #lauftraining \n\nMenschliches Coaching: schreibe mir bitte eine Mail an: coaching@felixhentschel.de und wir vereinbaren einen Termin für einen unverbindlichen Video-Call.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1", 56, 255, false, "KEsUyv0bQVY", "https://www.youtube.com/watch?v=KEsUyv0bQVY", "/downloads/Felix Hentschel/Season 2026/s2026e011200 - Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1.mp4", false, ~U[2026-01-12 17:15:01Z]] 04:04:17.156 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:17.156 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:17.156 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4538452] 04:04:17.157 [debug] Current batch of media processed. Will check again in 1000ms 04:04:18.157 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Susi hat sich ins Studio verirrt und dann hab ich sie mit den Audiokabeln vom Podcast-Aufnahmegerät gefesselt. Ob die Aufnahme mit mir entspannender war, als ein Tag mit zwei Kindern? Hör mal selber!\nWie dieser YouTube-Sidequest mit Susi weitergeht, kann ich eben auch noch nicht sagen. Da ist noch ganz viel Work-In-Progress, aber das macht es für mich sehr spannend. Lass mich wissen, was Du dir für das Format vorstellen könntest. Gerne hier in den Kommentaren!\n\n\nHier das Video von Steve Magness: https://www.youtube.com/watch?v=xluo0RK7hwE&t=187s", "duration" => 2453, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e102300 - Talk mit Susanne Hentschel | Hier wird geflucht!.NA", "id" => "LkLcawJTl7g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LkLcawJTl7g", "playlist_index" => 4, "timestamp" => 1761214633, "title" => "Talk mit Susanne Hentschel | Hier wird geflucht!", "upload_date" => "20251023"} 04:04:18.157 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:18.158 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:18.159 [debug] QUERY OK source="media_items" db=1.0ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 10:17:13Z], 56] 04:04:18.160 [debug] QUERY OK source="media_items" db=1.1ms idle=25.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Susi hat sich ins Studio verirrt und dann hab ich sie mit den Audiokabeln vom Podcast-Aufnahmegerät gefesselt. Ob die Aufnahme mit mir entspannender war, als ein Tag mit zwei Kindern? Hör mal selber!\nWie dieser YouTube-Sidequest mit Susi weitergeht, kann ich eben auch noch nicht sagen. Da ist noch ganz viel Work-In-Progress, aber das macht es für mich sehr spannend. Lass mich wissen, was Du dir für das Format vorstellen könntest. Gerne hier in den Kommentaren!\n\n\nHier das Video von Steve Magness: https://www.youtube.com/watch?v=xluo0RK7hwE&t=187s", "Talk mit Susanne Hentschel | Hier wird geflucht!", "1f936609-632f-462a-8bbe-bfc8e7d12d4a", false, 56, [], 2453, false, "LkLcawJTl7g", "https://www.youtube.com/watch?v=LkLcawJTl7g", 4, "/downloads/Felix Hentschel/Season 2025/s2025e102300 - Talk mit Susanne Hentschel | Hier wird geflucht!.NA", false, false, 98, ~U[2025-10-23 10:17:13Z], ~U[2026-08-05 02:04:18Z], ~U[2026-08-05 02:04:18Z], "Susi hat sich ins Studio verirrt und dann hab ich sie mit den Audiokabeln vom Podcast-Aufnahmegerät gefesselt. Ob die Aufnahme mit mir entspannender war, als ein Tag mit zwei Kindern? Hör mal selber!\nWie dieser YouTube-Sidequest mit Susi weitergeht, kann ich eben auch noch nicht sagen. Da ist noch ganz viel Work-In-Progress, aber das macht es für mich sehr spannend. Lass mich wissen, was Du dir für das Format vorstellen könntest. Gerne hier in den Kommentaren!\n\n\nHier das Video von Steve Magness: https://www.youtube.com/watch?v=xluo0RK7hwE&t=187s", "Talk mit Susanne Hentschel | Hier wird geflucht!", 56, 2453, false, "LkLcawJTl7g", "https://www.youtube.com/watch?v=LkLcawJTl7g", "/downloads/Felix Hentschel/Season 2025/s2025e102300 - Talk mit Susanne Hentschel | Hier wird geflucht!.NA", false, ~U[2025-10-23 10:17:13Z]] 04:04:18.161 [debug] QUERY OK source="sources" db=0.2ms idle=20.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:18.161 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:18.161 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4265870] 04:04:18.161 [info] Kicking off download for media item #4265870 (LkLcawJTl7g) 04:04:18.163 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133834, 4265870, ~U[2026-08-05 02:04:18Z], ~U[2026-08-05 02:04:18Z]] 04:04:18.163 [debug] Current batch of media processed. Will check again in 1000ms 04:04:18.170 [info] {"args":{"id":4265870},"id":133834,"meta":{},"system_time":1785895458169968356,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:18.170 [debug] QUERY OK source="media_items" db=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4265870] 04:04:18.170 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:04:18.170 [debug] QUERY OK source="sources" db=0.2ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:18.171 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:18.171 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4265870] 04:04:18.172 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4265870] 04:04:18.172 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:18.172 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:18.172 [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 [] 04:04:18.172 [debug] Running yt-dlp command for action: get_downloadable_status 04:04:18.173 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:18.173 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:18.173 [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 [] 04:04:18.173 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/9b/529bc2e33e12b840ea530a5b902abc7c10209848efa7caa1435c4d63400e2a0a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:19.164 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Heute trete ich bei einem Ausscheidungsrennen gegen einige der schnellsten Läufer Deutschlands an. Das Problem: Ich bin völlig untrainiert. Drei Monate kaum Bewegung – jetzt heißt es „Überleben pro Runde“. Wer fliegt zuerst raus? #runningchallenge \n\n🏃\u200D♂️ Format: 1-Meilen-Ausscheidung\n🎥 Mit dabei: Profi- und Nachwuchsläufer\n😅 Ziel: Nicht Letzter werden. Spoiler: schwierig.\n\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 531, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e100900 - Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags.mp4", "id" => "DZ_CCLkQIQY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DZ_CCLkQIQY", "playlist_index" => 5, "timestamp" => 1760012160, "title" => "Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags", "upload_date" => "20251009"} 04:04:19.164 [debug] QUERY OK source="sources" db=0.1ms idle=991.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:19.165 [debug] QUERY OK source="sources" db=0.1ms idle=991.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:19.165 [debug] QUERY OK source="media_items" db=0.6ms idle=991.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 12:16:00Z], 56] 04:04:19.167 [debug] QUERY OK source="media_items" db=0.8ms idle=31.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Heute trete ich bei einem Ausscheidungsrennen gegen einige der schnellsten Läufer Deutschlands an. Das Problem: Ich bin völlig untrainiert. Drei Monate kaum Bewegung – jetzt heißt es „Überleben pro Runde“. Wer fliegt zuerst raus? #runningchallenge \n\n🏃\u200D♂️ Format: 1-Meilen-Ausscheidung\n🎥 Mit dabei: Profi- und Nachwuchsläufer\n😅 Ziel: Nicht Letzter werden. Spoiler: schwierig.\n\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags", "05f3f5df-86d6-40f3-8923-a73dc4cbc599", false, 56, [], 531, false, "DZ_CCLkQIQY", "https://www.youtube.com/watch?v=DZ_CCLkQIQY", 5, "/downloads/Felix Hentschel/Season 2025/s2025e100900 - Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags.mp4", false, false, 98, ~U[2025-10-09 12:16:00Z], ~U[2026-08-05 02:04:19Z], ~U[2026-08-05 02:04:19Z], "Heute trete ich bei einem Ausscheidungsrennen gegen einige der schnellsten Läufer Deutschlands an. Das Problem: Ich bin völlig untrainiert. Drei Monate kaum Bewegung – jetzt heißt es „Überleben pro Runde“. Wer fliegt zuerst raus? #runningchallenge \n\n🏃\u200D♂️ Format: 1-Meilen-Ausscheidung\n🎥 Mit dabei: Profi- und Nachwuchsläufer\n😅 Ziel: Nicht Letzter werden. Spoiler: schwierig.\n\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags", 56, 531, false, "DZ_CCLkQIQY", "https://www.youtube.com/watch?v=DZ_CCLkQIQY", "/downloads/Felix Hentschel/Season 2025/s2025e100900 - Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags.mp4", false, ~U[2025-10-09 12:16:00Z]] 04:04:19.167 [debug] QUERY OK source="sources" db=0.1ms idle=26.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:19.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:19.168 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4224189] 04:04:19.168 [debug] Current batch of media processed. Will check again in 1000ms 04:04:20.114 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/9b/529bc2e33e12b840ea530a5b902abc7c10209848efa7caa1435c4d63400e2a0a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:04:20.115 [error] yt-dlp download error for media item #4265870: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:04:20.115 [debug] QUERY OK source="media_items" db=0.5ms idle=949.1ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2026-08-05 02:04:20Z], 4265870] 04:04:20.115 [error] yt-dlp download will not be retried: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:04:20.116 [info] {"args":{"id":4265870},"id":133834,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1946025,"event":"job:stop","queue_time":169367,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:20.168 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Wie setzt man sich als Sportler richtig Ziele? Nach 20 Jahren als Triathlon-Profi erzähle ich euch mein System - von langfristigen Zielen bis zu täglichen Mini-Routinen.\nMich interessiert wirklich:\nWie macht ihr das mit euren Zielen? Kommt das bei euch ganz natürlich oder denkt ihr bewusst drüber nach?\nUnd vor allem: Was sind eure Ziele für die nächsten Monate? Schreibt sie gerne konkret in die Kommentare - ich lese alle und gebe euch Feedback!\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 499, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e072600 - 3 Ziel-Arten, die JEDEN Sportler besser machen.mp4", "id" => "daCG6q7wxCY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=daCG6q7wxCY", "playlist_index" => 6, "timestamp" => 1753519487, "title" => "3 Ziel-Arten, die JEDEN Sportler besser machen", "upload_date" => "20250726"} 04:04:20.169 [debug] QUERY OK source="sources" db=0.2ms idle=52.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:20.169 [debug] QUERY OK source="sources" db=0.1ms idle=53.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:20.170 [debug] QUERY OK source="media_items" db=0.9ms idle=46.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 08:44:47Z], 56] 04:04:20.173 [debug] QUERY OK source="media_items" db=2.6ms idle=34.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Wie setzt man sich als Sportler richtig Ziele? Nach 20 Jahren als Triathlon-Profi erzähle ich euch mein System - von langfristigen Zielen bis zu täglichen Mini-Routinen.\nMich interessiert wirklich:\nWie macht ihr das mit euren Zielen? Kommt das bei euch ganz natürlich oder denkt ihr bewusst drüber nach?\nUnd vor allem: Was sind eure Ziele für die nächsten Monate? Schreibt sie gerne konkret in die Kommentare - ich lese alle und gebe euch Feedback!\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "3 Ziel-Arten, die JEDEN Sportler besser machen", "c8112e8d-1360-430f-b463-d9ae7f9605a7", false, 56, [], 499, false, "daCG6q7wxCY", "https://www.youtube.com/watch?v=daCG6q7wxCY", 6, "/downloads/Felix Hentschel/Season 2025/s2025e072600 - 3 Ziel-Arten, die JEDEN Sportler besser machen.mp4", false, false, 98, ~U[2025-07-26 08:44:47Z], ~U[2026-08-05 02:04:20Z], ~U[2026-08-05 02:04:20Z], "Wie setzt man sich als Sportler richtig Ziele? Nach 20 Jahren als Triathlon-Profi erzähle ich euch mein System - von langfristigen Zielen bis zu täglichen Mini-Routinen.\nMich interessiert wirklich:\nWie macht ihr das mit euren Zielen? Kommt das bei euch ganz natürlich oder denkt ihr bewusst drüber nach?\nUnd vor allem: Was sind eure Ziele für die nächsten Monate? Schreibt sie gerne konkret in die Kommentare - ich lese alle und gebe euch Feedback!\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "3 Ziel-Arten, die JEDEN Sportler besser machen", 56, 499, false, "daCG6q7wxCY", "https://www.youtube.com/watch?v=daCG6q7wxCY", "/downloads/Felix Hentschel/Season 2025/s2025e072600 - 3 Ziel-Arten, die JEDEN Sportler besser machen.mp4", false, ~U[2025-07-26 08:44:47Z]] 04:04:20.174 [debug] QUERY OK source="sources" db=0.1ms idle=31.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:20.174 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:20.174 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4013826] 04:04:20.174 [debug] Current batch of media processed. Will check again in 1000ms 04:04:21.175 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Nach dem Ende meiner Profikarriere vor sieben Tagen fühlt sich alles anders an als erwartet. Ich reflektiere über die Entscheidungen, die zu diesem Schritt führten, und teile meine Erfahrungen. Begleitet mich auf dieser Reise der Veränderung und des Mindset, während ich mich neuen Herausforderungen stelle und mein Wohlbefinden in den Fokus rücke, um meine neue persönliche Motivation zu finden.\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "duration" => 313, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e071600 - Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1.mp4", "id" => "8NAz-vd7BBw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8NAz-vd7BBw", "playlist_index" => 7, "timestamp" => 1752681613, "title" => "Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1", "upload_date" => "20250716"} 04:04:21.175 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:21.176 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:21.177 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 16:00:13Z], 56] 04:04:21.178 [debug] QUERY OK source="media_items" db=0.7ms idle=40.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach dem Ende meiner Profikarriere vor sieben Tagen fühlt sich alles anders an als erwartet. Ich reflektiere über die Entscheidungen, die zu diesem Schritt führten, und teile meine Erfahrungen. Begleitet mich auf dieser Reise der Veränderung und des Mindset, während ich mich neuen Herausforderungen stelle und mein Wohlbefinden in den Fokus rücke, um meine neue persönliche Motivation zu finden.\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1", "94becf40-bfcb-4846-a209-c06e78c54184", false, 56, [], 313, false, "8NAz-vd7BBw", "https://www.youtube.com/watch?v=8NAz-vd7BBw", 7, "/downloads/Felix Hentschel/Season 2025/s2025e071600 - Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1.mp4", false, false, 98, ~U[2025-07-16 16:00:13Z], ~U[2026-08-05 02:04:21Z], ~U[2026-08-05 02:04:21Z], "Nach dem Ende meiner Profikarriere vor sieben Tagen fühlt sich alles anders an als erwartet. Ich reflektiere über die Entscheidungen, die zu diesem Schritt führten, und teile meine Erfahrungen. Begleitet mich auf dieser Reise der Veränderung und des Mindset, während ich mich neuen Herausforderungen stelle und mein Wohlbefinden in den Fokus rücke, um meine neue persönliche Motivation zu finden.\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1", 56, 313, false, "8NAz-vd7BBw", "https://www.youtube.com/watch?v=8NAz-vd7BBw", "/downloads/Felix Hentschel/Season 2025/s2025e071600 - Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1.mp4", false, ~U[2025-07-16 16:00:13Z]] 04:04:21.178 [debug] QUERY OK source="sources" db=0.1ms idle=35.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:21.178 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:21.179 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3980671] 04:04:21.179 [debug] Current batch of media processed. Will check again in 1000ms 04:04:22.179 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "18. Platz beim Challenge Roth 2025 - es war wieder eik unglaubliches Triathlon-Fest und die Stimmung und Energie beim Challenge Roth war und ist einfach einzigartig. Perfekt für meinen Abschluss als Profi-Triathlet.\n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 537, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e070800 - Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?.mp4", "id" => "9JhPOo261ns", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9JhPOo261ns", "playlist_index" => 8, "timestamp" => 1751984712, "title" => "Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?", "upload_date" => "20250708"} 04:04:22.180 [debug] QUERY OK source="sources" db=0.2ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:22.180 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:22.181 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 14:25:12Z], 56] 04:04:22.192 [debug] QUERY OK source="media_items" db=10.5ms idle=43.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["18. Platz beim Challenge Roth 2025 - es war wieder eik unglaubliches Triathlon-Fest und die Stimmung und Energie beim Challenge Roth war und ist einfach einzigartig. Perfekt für meinen Abschluss als Profi-Triathlet.\n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?", "e41a15a1-3de2-4e33-b20c-2c6a72c125fd", false, 56, [], 537, false, "9JhPOo261ns", "https://www.youtube.com/watch?v=9JhPOo261ns", 8, "/downloads/Felix Hentschel/Season 2025/s2025e070800 - Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?.mp4", false, false, 98, ~U[2025-07-08 14:25:12Z], ~U[2026-08-05 02:04:22Z], ~U[2026-08-05 02:04:22Z], "18. Platz beim Challenge Roth 2025 - es war wieder eik unglaubliches Triathlon-Fest und die Stimmung und Energie beim Challenge Roth war und ist einfach einzigartig. Perfekt für meinen Abschluss als Profi-Triathlet.\n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?", 56, 537, false, "9JhPOo261ns", "https://www.youtube.com/watch?v=9JhPOo261ns", "/downloads/Felix Hentschel/Season 2025/s2025e070800 - Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?.mp4", false, ~U[2025-07-08 14:25:12Z]] 04:04:22.193 [debug] QUERY OK source="sources" db=0.2ms idle=47.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:22.193 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:22.194 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3930104] 04:04:22.194 [debug] Current batch of media processed. Will check again in 1000ms 04:04:23.194 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In einer Woche werde ich meine Sport Karriere nach dem Challenge Roth beenden, was einen kompletten Neustart bedeutet. Ich freue mich darauf, neue Ziele setzen zu können und mich neuen Herausforderungen zu stellen. Zur Sicherheit habe ich mit Mari Dottschadis gesprochen. Sie ist Sportpsychologin und hat mir erklärt, was so auf mich zukommen könnte.\n👉 Hier kannst Du Mari finden: \nWebsite: http://mentaltrainiert.com\nInstagram: https://www.instagram.com/marirennt/\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "duration" => 986, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e070200 - Was passiert, wenn du als Profisportler aufhörst?.mp4", "id" => "JgKRguU22uY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JgKRguU22uY", "playlist_index" => 9, "timestamp" => 1751474525, "title" => "Was passiert, wenn du als Profisportler aufhörst?", "upload_date" => "20250702"} 04:04:23.195 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:23.195 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:23.196 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-02 16:42:05Z], 56] 04:04:23.197 [debug] QUERY OK source="media_items" db=0.8ms idle=56.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In einer Woche werde ich meine Sport Karriere nach dem Challenge Roth beenden, was einen kompletten Neustart bedeutet. Ich freue mich darauf, neue Ziele setzen zu können und mich neuen Herausforderungen zu stellen. Zur Sicherheit habe ich mit Mari Dottschadis gesprochen. Sie ist Sportpsychologin und hat mir erklärt, was so auf mich zukommen könnte.\n👉 Hier kannst Du Mari finden: \nWebsite: http://mentaltrainiert.com\nInstagram: https://www.instagram.com/marirennt/\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Was passiert, wenn du als Profisportler aufhörst?", "c0fddfbb-5233-494c-96cb-cba1dbc0f902", false, 56, [], 986, false, "JgKRguU22uY", "https://www.youtube.com/watch?v=JgKRguU22uY", 9, "/downloads/Felix Hentschel/Season 2025/s2025e070200 - Was passiert, wenn du als Profisportler aufhörst?.mp4", false, false, 98, ~U[2025-07-02 16:42:05Z], ~U[2026-08-05 02:04:23Z], ~U[2026-08-05 02:04:23Z], "In einer Woche werde ich meine Sport Karriere nach dem Challenge Roth beenden, was einen kompletten Neustart bedeutet. Ich freue mich darauf, neue Ziele setzen zu können und mich neuen Herausforderungen zu stellen. Zur Sicherheit habe ich mit Mari Dottschadis gesprochen. Sie ist Sportpsychologin und hat mir erklärt, was so auf mich zukommen könnte.\n👉 Hier kannst Du Mari finden: \nWebsite: http://mentaltrainiert.com\nInstagram: https://www.instagram.com/marirennt/\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Was passiert, wenn du als Profisportler aufhörst?", 56, 986, false, "JgKRguU22uY", "https://www.youtube.com/watch?v=JgKRguU22uY", "/downloads/Felix Hentschel/Season 2025/s2025e070200 - Was passiert, wenn du als Profisportler aufhörst?.mp4", false, ~U[2025-07-02 16:42:05Z]] 04:04:23.197 [debug] QUERY OK source="sources" db=0.1ms idle=51.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:23.197 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:23.198 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3888534] 04:04:23.198 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Nur noch wenige Tage bis zum Challenge Roth! Die Vorbereitung läuft, aber es gibt Schwierigkeiten. Ich frage mich, ob ich meinen Traum vom Challenge Roth 2025, dem prestigeträchtigsten Triathlon-Rennen, verwirklichen kann. Die gebrochenen Rippen helfen nicht!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 519, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e062500 - Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?.mp4", "id" => "LZB9a0Q11_g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LZB9a0Q11_g", "playlist_index" => 10, "timestamp" => 1750865411, "title" => "Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?", "upload_date" => "20250625"} 04:04:23.198 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:23.198 [debug] QUERY OK source="sources" db=0.1ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:23.199 [debug] QUERY OK source="media_items" db=0.5ms idle=1.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-25 15:30:11Z], 56] 04:04:23.200 [debug] QUERY OK source="media_items" db=0.8ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nur noch wenige Tage bis zum Challenge Roth! Die Vorbereitung läuft, aber es gibt Schwierigkeiten. Ich frage mich, ob ich meinen Traum vom Challenge Roth 2025, dem prestigeträchtigsten Triathlon-Rennen, verwirklichen kann. Die gebrochenen Rippen helfen nicht!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?", "03a4bd67-cefd-40b6-afc8-7d0f72ca5d4b", false, 56, [], 519, false, "LZB9a0Q11_g", "https://www.youtube.com/watch?v=LZB9a0Q11_g", 10, "/downloads/Felix Hentschel/Season 2025/s2025e062500 - Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?.mp4", false, false, 98, ~U[2025-06-25 15:30:11Z], ~U[2026-08-05 02:04:23Z], ~U[2026-08-05 02:04:23Z], "Nur noch wenige Tage bis zum Challenge Roth! Die Vorbereitung läuft, aber es gibt Schwierigkeiten. Ich frage mich, ob ich meinen Traum vom Challenge Roth 2025, dem prestigeträchtigsten Triathlon-Rennen, verwirklichen kann. Die gebrochenen Rippen helfen nicht!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?", 56, 519, false, "LZB9a0Q11_g", "https://www.youtube.com/watch?v=LZB9a0Q11_g", "/downloads/Felix Hentschel/Season 2025/s2025e062500 - Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?.mp4", false, ~U[2025-06-25 15:30:11Z]] 04:04:23.200 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:23.201 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:23.201 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3851412] 04:04:23.201 [debug] Current batch of media processed. Will check again in 1000ms 04:04:24.202 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Noch 19 Tage zum Challenge Roth 2025. Nicht die Vorbereitung, die ich mir vorgestellt hatte.\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 707, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e061700 - Drei Rippen gebrochen – was jetzt?.mp4", "id" => "E-APz1LfFwI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E-APz1LfFwI", "playlist_index" => 11, "timestamp" => 1750171503, "title" => "Drei Rippen gebrochen – was jetzt?", "upload_date" => "20250617"} 04:04:24.203 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:24.203 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:24.204 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 14:45:03Z], 56] 04:04:24.205 [debug] QUERY OK source="media_items" db=0.8ms idle=62.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Noch 19 Tage zum Challenge Roth 2025. Nicht die Vorbereitung, die ich mir vorgestellt hatte.\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Drei Rippen gebrochen – was jetzt?", "ab7b7f4b-0308-437d-a39e-b7d303792304", false, 56, [], 707, false, "E-APz1LfFwI", "https://www.youtube.com/watch?v=E-APz1LfFwI", 11, "/downloads/Felix Hentschel/Season 2025/s2025e061700 - Drei Rippen gebrochen – was jetzt?.mp4", false, false, 98, ~U[2025-06-17 14:45:03Z], ~U[2026-08-05 02:04:24Z], ~U[2026-08-05 02:04:24Z], "Noch 19 Tage zum Challenge Roth 2025. Nicht die Vorbereitung, die ich mir vorgestellt hatte.\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Drei Rippen gebrochen – was jetzt?", 56, 707, false, "E-APz1LfFwI", "https://www.youtube.com/watch?v=E-APz1LfFwI", "/downloads/Felix Hentschel/Season 2025/s2025e061700 - Drei Rippen gebrochen – was jetzt?.mp4", false, ~U[2025-06-17 14:45:03Z]] 04:04:24.205 [debug] QUERY OK source="sources" db=0.1ms idle=57.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:24.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:24.206 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3812035] 04:04:24.206 [debug] Current batch of media processed. Will check again in 1000ms 04:04:25.207 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mit Sören vom watt is los Podcast sprechen wir über mein geplantes Exit aus dem Leistungssport. Sörens eigenen Podcast findet ihr hier: https://open.spotify.com/episode/2qGBNtwKq6vTTnEBINjDWH?si=lqEH8mvKRAa1onS2M_OOYQ\n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 5829, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e061100 - Karriereende - wann, warum, was dann?.mp4", "id" => "DBHjzU7gjtQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DBHjzU7gjtQ", "playlist_index" => 12, "timestamp" => 1749655180, "title" => "Karriereende - wann, warum, was dann?", "upload_date" => "20250611"} 04:04:25.207 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:25.208 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:25.209 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-11 15:19:40Z], 56] 04:04:25.220 [debug] QUERY OK source="media_items" db=10.4ms idle=66.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mit Sören vom watt is los Podcast sprechen wir über mein geplantes Exit aus dem Leistungssport. Sörens eigenen Podcast findet ihr hier: https://open.spotify.com/episode/2qGBNtwKq6vTTnEBINjDWH?si=lqEH8mvKRAa1onS2M_OOYQ\n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Karriereende - wann, warum, was dann?", "6c4b5778-6485-4d8d-bbca-28b9ebff07f6", false, 56, [], 5829, false, "DBHjzU7gjtQ", "https://www.youtube.com/watch?v=DBHjzU7gjtQ", 12, "/downloads/Felix Hentschel/Season 2025/s2025e061100 - Karriereende - wann, warum, was dann?.mp4", false, false, 98, ~U[2025-06-11 15:19:40Z], ~U[2026-08-05 02:04:25Z], ~U[2026-08-05 02:04:25Z], "Mit Sören vom watt is los Podcast sprechen wir über mein geplantes Exit aus dem Leistungssport. Sörens eigenen Podcast findet ihr hier: https://open.spotify.com/episode/2qGBNtwKq6vTTnEBINjDWH?si=lqEH8mvKRAa1onS2M_OOYQ\n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Karriereende - wann, warum, was dann?", 56, 5829, false, "DBHjzU7gjtQ", "https://www.youtube.com/watch?v=DBHjzU7gjtQ", "/downloads/Felix Hentschel/Season 2025/s2025e061100 - Karriereende - wann, warum, was dann?.mp4", false, ~U[2025-06-11 15:19:40Z]] 04:04:25.220 [debug] QUERY OK source="sources" db=0.2ms idle=70.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:25.220 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:25.221 [debug] QUERY OK source="media_items" db=0.2ms idle=12.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3782696] 04:04:25.221 [debug] Current batch of media processed. Will check again in 1000ms 04:04:26.221 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Zum dritten Mal bin ich hier in Ingolstadt am Start gewesen und es war diesmal eine moralische Achterbahnfahrt. Nach einem guten Schwimmen, habe ich auf dem Rad echt gelitten und mich gar nicht gut gefühlt. So ging es beim Laufen auch erstmal weiter, bis ich dann so langsam Licht am Ende des Tunnels gesehen habe... \nSpare auf deinen Laufradsatz: bei Aerycs bekommst Du mit dem Code \"FELIX50\" 50 Euro auf deine Bestellung. https://aerycs.de/?utm_source=influencer&utm_medium=link&utm_campaign=felix\nEinlösbar auf alle Laufradsätze, ausgenommen Outletartikel und unsere Alu-Sätze und gültig bis 30.06.25\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 251, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e060200 - "Ich war so kurz vorm Aufgeben!" | 3. Platz beim Ingolstadt Triathlon 2025.mp4", "id" => "BKtseV9spBo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BKtseV9spBo", "playlist_index" => 13, "timestamp" => 1748860412, "title" => "\"Ich war so kurz vorm Aufgeben!\" | 3. Platz beim Ingolstadt Triathlon 2025", "upload_date" => "20250602"} 04:04:26.221 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:26.222 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:26.223 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-02 10:33:32Z], 56] 04:04:26.234 [debug] QUERY OK source="media_items" db=10.4ms idle=78.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Zum dritten Mal bin ich hier in Ingolstadt am Start gewesen und es war diesmal eine moralische Achterbahnfahrt. Nach einem guten Schwimmen, habe ich auf dem Rad echt gelitten und mich gar nicht gut gefühlt. So ging es beim Laufen auch erstmal weiter, bis ich dann so langsam Licht am Ende des Tunnels gesehen habe... \nSpare auf deinen Laufradsatz: bei Aerycs bekommst Du mit dem Code \"FELIX50\" 50 Euro auf deine Bestellung. https://aerycs.de/?utm_source=influencer&utm_medium=link&utm_campaign=felix\nEinlösbar auf alle Laufradsätze, ausgenommen Outletartikel und unsere Alu-Sätze und gültig bis 30.06.25\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "\"Ich war so kurz vorm Aufgeben!\" | 3. Platz beim Ingolstadt Triathlon 2025", "ca343609-5324-4e94-8a2b-fe90ee9410d9", false, 56, [], 251, false, "BKtseV9spBo", "https://www.youtube.com/watch?v=BKtseV9spBo", 13, "/downloads/Felix Hentschel/Season 2025/s2025e060200 - "Ich war so kurz vorm Aufgeben!" | 3. Platz beim Ingolstadt Triathlon 2025.mp4", false, false, 98, ~U[2025-06-02 10:33:32Z], ~U[2026-08-05 02:04:26Z], ~U[2026-08-05 02:04:26Z], "Zum dritten Mal bin ich hier in Ingolstadt am Start gewesen und es war diesmal eine moralische Achterbahnfahrt. Nach einem guten Schwimmen, habe ich auf dem Rad echt gelitten und mich gar nicht gut gefühlt. So ging es beim Laufen auch erstmal weiter, bis ich dann so langsam Licht am Ende des Tunnels gesehen habe... \nSpare auf deinen Laufradsatz: bei Aerycs bekommst Du mit dem Code \"FELIX50\" 50 Euro auf deine Bestellung. https://aerycs.de/?utm_source=influencer&utm_medium=link&utm_campaign=felix\nEinlösbar auf alle Laufradsätze, ausgenommen Outletartikel und unsere Alu-Sätze und gültig bis 30.06.25\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "\"Ich war so kurz vorm Aufgeben!\" | 3. Platz beim Ingolstadt Triathlon 2025", 56, 251, false, "BKtseV9spBo", "https://www.youtube.com/watch?v=BKtseV9spBo", "/downloads/Felix Hentschel/Season 2025/s2025e060200 - "Ich war so kurz vorm Aufgeben!" | 3. Platz beim Ingolstadt Triathlon 2025.mp4", false, ~U[2025-06-02 10:33:32Z]] 04:04:26.234 [debug] QUERY OK source="sources" db=0.2ms idle=82.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:26.234 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:26.235 [debug] QUERY OK source="media_items" db=0.2ms idle=12.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3739058] 04:04:26.235 [debug] Current batch of media processed. Will check again in 1000ms 04:04:27.235 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🏊\u200D♂️🚴\u200D♂️🏃\u200D♂️ MEIN ERSTES TRIATHLON-RENNEN 2025!\nServus Leute! Endlich ist es soweit - das erste Rennvideo des Jahres ist da! Beim IFA Nonstop Triathlon in Ebing habe ich die olympische Distanz in Angriff genommen. Besonderheit: Start erst um 14 Uhr - das bedeutet den ganzen Tag Nervosität aufbauen! 😅\n\n📊 MEINE ZEITEN & ANALYSE:\n\nSchwimmen: 16:29 (verkürzte Strecke, aber trotzdem zufrieden!)\nRadfahren: 43,3 km/h Schnitt über 6 Runden\nLaufen: 3:18-3:19 Pace trotz Trail-Bedingungen\nGesamtzeit: 1:50h - komplett solo gekämpft!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 307, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e052700 - Mein erstes Triathlon Rennen 2025 – So war der Start!.mp4", "id" => "46W_DEdQ_9w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=46W_DEdQ_9w", "playlist_index" => 14, "timestamp" => 1748358900, "title" => "Mein erstes Triathlon Rennen 2025 – So war der Start!", "upload_date" => "20250527"} 04:04:27.235 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:27.236 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:27.236 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 15:15:00Z], 56] 04:04:27.247 [debug] QUERY OK source="media_items" db=10.4ms idle=90.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🏊\u200D♂️🚴\u200D♂️🏃\u200D♂️ MEIN ERSTES TRIATHLON-RENNEN 2025!\nServus Leute! Endlich ist es soweit - das erste Rennvideo des Jahres ist da! Beim IFA Nonstop Triathlon in Ebing habe ich die olympische Distanz in Angriff genommen. Besonderheit: Start erst um 14 Uhr - das bedeutet den ganzen Tag Nervosität aufbauen! 😅\n\n📊 MEINE ZEITEN & ANALYSE:\n\nSchwimmen: 16:29 (verkürzte Strecke, aber trotzdem zufrieden!)\nRadfahren: 43,3 km/h Schnitt über 6 Runden\nLaufen: 3:18-3:19 Pace trotz Trail-Bedingungen\nGesamtzeit: 1:50h - komplett solo gekämpft!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein erstes Triathlon Rennen 2025 – So war der Start!", "22249011-c740-4e66-b24d-fac8bd6e3652", false, 56, [], 307, false, "46W_DEdQ_9w", "https://www.youtube.com/watch?v=46W_DEdQ_9w", 14, "/downloads/Felix Hentschel/Season 2025/s2025e052700 - Mein erstes Triathlon Rennen 2025 – So war der Start!.mp4", false, false, 98, ~U[2025-05-27 15:15:00Z], ~U[2026-08-05 02:04:27Z], ~U[2026-08-05 02:04:27Z], "🏊\u200D♂️🚴\u200D♂️🏃\u200D♂️ MEIN ERSTES TRIATHLON-RENNEN 2025!\nServus Leute! Endlich ist es soweit - das erste Rennvideo des Jahres ist da! Beim IFA Nonstop Triathlon in Ebing habe ich die olympische Distanz in Angriff genommen. Besonderheit: Start erst um 14 Uhr - das bedeutet den ganzen Tag Nervosität aufbauen! 😅\n\n📊 MEINE ZEITEN & ANALYSE:\n\nSchwimmen: 16:29 (verkürzte Strecke, aber trotzdem zufrieden!)\nRadfahren: 43,3 km/h Schnitt über 6 Runden\nLaufen: 3:18-3:19 Pace trotz Trail-Bedingungen\nGesamtzeit: 1:50h - komplett solo gekämpft!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein erstes Triathlon Rennen 2025 – So war der Start!", 56, 307, false, "46W_DEdQ_9w", "https://www.youtube.com/watch?v=46W_DEdQ_9w", "/downloads/Felix Hentschel/Season 2025/s2025e052700 - Mein erstes Triathlon Rennen 2025 – So war der Start!.mp4", false, ~U[2025-05-27 15:15:00Z]] 04:04:27.248 [debug] QUERY OK source="sources" db=0.2ms idle=95.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:27.248 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:27.248 [debug] QUERY OK source="media_items" db=0.2ms idle=12.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3709757] 04:04:27.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Einfach mal ganz entspannt ne Runde schwimmen. Morgens um sieben, da ist's still am Beckenrand.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 642, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e052100 - Schwimmen im Früh-Sommer | Bin ich schneller geworden?.mp4", "id" => "djj2zRi5kyQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=djj2zRi5kyQ", "playlist_index" => 15, "timestamp" => 1747839078, "title" => "Schwimmen im Früh-Sommer | Bin ich schneller geworden?", "upload_date" => "20250521"} 04:04:27.249 [debug] QUERY OK source="sources" db=0.1ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:27.249 [debug] QUERY OK source="sources" db=0.0ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:27.250 [debug] QUERY OK source="media_items" db=0.5ms idle=1.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-21 14:51:18Z], 56] 04:04:27.251 [debug] QUERY OK source="media_items" db=0.8ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Einfach mal ganz entspannt ne Runde schwimmen. Morgens um sieben, da ist's still am Beckenrand.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schwimmen im Früh-Sommer | Bin ich schneller geworden?", "784f34b7-c7b9-42cf-aa46-557516624c60", false, 56, [], 642, false, "djj2zRi5kyQ", "https://www.youtube.com/watch?v=djj2zRi5kyQ", 15, "/downloads/Felix Hentschel/Season 2025/s2025e052100 - Schwimmen im Früh-Sommer | Bin ich schneller geworden?.mp4", false, false, 98, ~U[2025-05-21 14:51:18Z], ~U[2026-08-05 02:04:27Z], ~U[2026-08-05 02:04:27Z], "Einfach mal ganz entspannt ne Runde schwimmen. Morgens um sieben, da ist's still am Beckenrand.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schwimmen im Früh-Sommer | Bin ich schneller geworden?", 56, 642, false, "djj2zRi5kyQ", "https://www.youtube.com/watch?v=djj2zRi5kyQ", "/downloads/Felix Hentschel/Season 2025/s2025e052100 - Schwimmen im Früh-Sommer | Bin ich schneller geworden?.mp4", false, ~U[2025-05-21 14:51:18Z]] 04:04:27.251 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:27.251 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:27.251 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3681128] 04:04:27.251 [debug] Current batch of media processed. Will check again in 1000ms 04:04:28.252 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Der Tag an dem ich 7300 Kalorien verbrannt habe, ein hungernder Körper und die Frage: Wie ernährt man sich bei so einer Belastung? Sicher einer meiner längsten Trainingstage in Vorbereitung auf den Challenge Roth 2025.\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 837, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e051400 - 7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie.mp4", "id" => "jI6uynDwaPY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jI6uynDwaPY", "playlist_index" => 16, "timestamp" => 1747234873, "title" => "7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie", "upload_date" => "20250514"} 04:04:28.253 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:28.253 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:28.254 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-14 15:01:13Z], 56] 04:04:28.265 [debug] QUERY OK source="media_items" db=10.1ms idle=106.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der Tag an dem ich 7300 Kalorien verbrannt habe, ein hungernder Körper und die Frage: Wie ernährt man sich bei so einer Belastung? Sicher einer meiner längsten Trainingstage in Vorbereitung auf den Challenge Roth 2025.\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie", "6542479d-3e7e-436d-a1c8-a4890e65a983", false, 56, [], 837, false, "jI6uynDwaPY", "https://www.youtube.com/watch?v=jI6uynDwaPY", 16, "/downloads/Felix Hentschel/Season 2025/s2025e051400 - 7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie.mp4", false, false, 98, ~U[2025-05-14 15:01:13Z], ~U[2026-08-05 02:04:28Z], ~U[2026-08-05 02:04:28Z], "Der Tag an dem ich 7300 Kalorien verbrannt habe, ein hungernder Körper und die Frage: Wie ernährt man sich bei so einer Belastung? Sicher einer meiner längsten Trainingstage in Vorbereitung auf den Challenge Roth 2025.\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie", 56, 837, false, "jI6uynDwaPY", "https://www.youtube.com/watch?v=jI6uynDwaPY", "/downloads/Felix Hentschel/Season 2025/s2025e051400 - 7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie.mp4", false, ~U[2025-05-14 15:01:13Z]] 04:04:28.265 [debug] QUERY OK source="sources" db=0.2ms idle=110.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:28.265 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:28.266 [debug] QUERY OK source="media_items" db=0.2ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3647890] 04:04:28.266 [debug] Current batch of media processed. Will check again in 1000ms 04:04:29.267 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Noch acht Wochen bis zum Challenge Roth und mein Triathlon Langdistanz Training wird immer spezifischer. Drei Tage Profi-Training für den Challenge Roth gibt's in diesem Video, Vlog-Style teilweise etwas wirr... 😎\n\n#triathlontraining \n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 887, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e050800 - 135g Kohlenhydrate in der Stunde - Schaff ich das?.mp4", "id" => "IG7pu-UwZDI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IG7pu-UwZDI", "playlist_index" => 17, "timestamp" => 1746723304, "title" => "135g Kohlenhydrate in der Stunde - Schaff ich das?", "upload_date" => "20250508"} 04:04:29.267 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:29.268 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:29.268 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 16:55:04Z], 56] 04:04:29.294 [debug] QUERY OK source="media_items" db=25.3ms idle=118.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Noch acht Wochen bis zum Challenge Roth und mein Triathlon Langdistanz Training wird immer spezifischer. Drei Tage Profi-Training für den Challenge Roth gibt's in diesem Video, Vlog-Style teilweise etwas wirr... 😎\n\n#triathlontraining \n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "135g Kohlenhydrate in der Stunde - Schaff ich das?", "c8e86238-e838-4a06-975d-e900fbdce7b8", false, 56, [], 887, false, "IG7pu-UwZDI", "https://www.youtube.com/watch?v=IG7pu-UwZDI", 17, "/downloads/Felix Hentschel/Season 2025/s2025e050800 - 135g Kohlenhydrate in der Stunde - Schaff ich das?.mp4", false, false, 98, ~U[2025-05-08 16:55:04Z], ~U[2026-08-05 02:04:29Z], ~U[2026-08-05 02:04:29Z], "Noch acht Wochen bis zum Challenge Roth und mein Triathlon Langdistanz Training wird immer spezifischer. Drei Tage Profi-Training für den Challenge Roth gibt's in diesem Video, Vlog-Style teilweise etwas wirr... 😎\n\n#triathlontraining \n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "135g Kohlenhydrate in der Stunde - Schaff ich das?", 56, 887, false, "IG7pu-UwZDI", "https://www.youtube.com/watch?v=IG7pu-UwZDI", "/downloads/Felix Hentschel/Season 2025/s2025e050800 - 135g Kohlenhydrate in der Stunde - Schaff ich das?.mp4", false, ~U[2025-05-08 16:55:04Z]] 04:04:29.295 [debug] QUERY OK source="sources" db=0.2ms idle=137.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:29.295 [debug] QUERY OK source="media_profiles" db=0.1ms idle=27.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:29.295 [debug] QUERY OK source="media_items" db=0.1ms idle=27.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3621961] 04:04:29.295 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "HAST DU EINE MORNING ROUTINE? Schreib's mir in die Kommentare! Ich habe eine und teile sie heute mit euch!\nJa, meine sieht langweilig aus, ja sie ist sau langweilig, aber meine Morning Routine bereitet mich schnell und reibungslos auf meinen Tag vor. \n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 301, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e050200 - Eine "MORNING ROUTINE" aus dem ECHTEN Leben eines Profi-Triathleten.mp4", "id" => "A91-Xtv-_N8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A91-Xtv-_N8", "playlist_index" => 18, "timestamp" => 1746181748, "title" => "Eine \"MORNING ROUTINE\" aus dem ECHTEN Leben eines Profi-Triathleten", "upload_date" => "20250502"} 04:04:29.295 [debug] QUERY OK source="sources" db=0.1ms idle=26.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:29.296 [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" = ?) [56] 04:04:29.296 [debug] QUERY OK source="media_items" db=0.5ms idle=1.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-02 10:29:08Z], 56] 04:04:29.304 [debug] QUERY OK source="media_items" db=7.1ms idle=1.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["HAST DU EINE MORNING ROUTINE? Schreib's mir in die Kommentare! Ich habe eine und teile sie heute mit euch!\nJa, meine sieht langweilig aus, ja sie ist sau langweilig, aber meine Morning Routine bereitet mich schnell und reibungslos auf meinen Tag vor. \n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Eine \"MORNING ROUTINE\" aus dem ECHTEN Leben eines Profi-Triathleten", "b1f81cea-e761-4337-9672-3f3c4b08fa22", false, 56, [], 301, false, "A91-Xtv-_N8", "https://www.youtube.com/watch?v=A91-Xtv-_N8", 18, "/downloads/Felix Hentschel/Season 2025/s2025e050200 - Eine "MORNING ROUTINE" aus dem ECHTEN Leben eines Profi-Triathleten.mp4", false, false, 98, ~U[2025-05-02 10:29:08Z], ~U[2026-08-05 02:04:29Z], ~U[2026-08-05 02:04:29Z], "HAST DU EINE MORNING ROUTINE? Schreib's mir in die Kommentare! Ich habe eine und teile sie heute mit euch!\nJa, meine sieht langweilig aus, ja sie ist sau langweilig, aber meine Morning Routine bereitet mich schnell und reibungslos auf meinen Tag vor. \n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Eine \"MORNING ROUTINE\" aus dem ECHTEN Leben eines Profi-Triathleten", 56, 301, false, "A91-Xtv-_N8", "https://www.youtube.com/watch?v=A91-Xtv-_N8", "/downloads/Felix Hentschel/Season 2025/s2025e050200 - Eine "MORNING ROUTINE" aus dem ECHTEN Leben eines Profi-Triathleten.mp4", false, ~U[2025-05-02 10:29:08Z]] 04:04:29.304 [debug] QUERY OK source="sources" db=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:29.304 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:29.305 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3589758] 04:04:29.305 [debug] Current batch of media processed. Will check again in 1000ms 04:04:30.305 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meine Tipps um im Triathlon noch schneller über die Radstrecke zu kommen, denn darum geht es: nach dem Schwimmen aufs Rad steigen und möglichst effizient in die nächste Wechselzone zu kommen, um beim Laufen dann den Triathlon stabil zu finishen, ganz egal, ob Sprintdistanz, Olympische, oder eine Langdistanz, wie den Challenge Roth.\nDas Pacing ist aber natürlich bei einer Triathlon Langdistanz schon wichtiger, als bei einer Sprintdistanz - habt ihr noch weitere Ratschläge: schreibt sie mir in die Kommentare! \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "duration" => 709, "filename" => "/downloads/Felix Hentschel/Season 2025/s2025e042400 - Ab April: Rennrad-Verbot für Triathleten!!!.mp4", "id" => "JqJ65GYvfGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JqJ65GYvfGA", "playlist_index" => 19, "timestamp" => 1745506653, "title" => "Ab April: Rennrad-Verbot für Triathleten!!!", "upload_date" => "20250424"} 04:04:30.306 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:30.306 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.307 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-24 14:57:33Z], 56] 04:04:30.317 [debug] QUERY OK source="media_items" db=10.1ms idle=155.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meine Tipps um im Triathlon noch schneller über die Radstrecke zu kommen, denn darum geht es: nach dem Schwimmen aufs Rad steigen und möglichst effizient in die nächste Wechselzone zu kommen, um beim Laufen dann den Triathlon stabil zu finishen, ganz egal, ob Sprintdistanz, Olympische, oder eine Langdistanz, wie den Challenge Roth.\nDas Pacing ist aber natürlich bei einer Triathlon Langdistanz schon wichtiger, als bei einer Sprintdistanz - habt ihr noch weitere Ratschläge: schreibt sie mir in die Kommentare! \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ab April: Rennrad-Verbot für Triathleten!!!", "dfe85844-be2d-4c50-9f77-47916a66fcba", false, 56, [], 709, false, "JqJ65GYvfGA", "https://www.youtube.com/watch?v=JqJ65GYvfGA", 19, "/downloads/Felix Hentschel/Season 2025/s2025e042400 - Ab April: Rennrad-Verbot für Triathleten!!!.mp4", false, false, 98, ~U[2025-04-24 14:57:33Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Meine Tipps um im Triathlon noch schneller über die Radstrecke zu kommen, denn darum geht es: nach dem Schwimmen aufs Rad steigen und möglichst effizient in die nächste Wechselzone zu kommen, um beim Laufen dann den Triathlon stabil zu finishen, ganz egal, ob Sprintdistanz, Olympische, oder eine Langdistanz, wie den Challenge Roth.\nDas Pacing ist aber natürlich bei einer Triathlon Langdistanz schon wichtiger, als bei einer Sprintdistanz - habt ihr noch weitere Ratschläge: schreibt sie mir in die Kommentare! \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ab April: Rennrad-Verbot für Triathleten!!!", 56, 709, false, "JqJ65GYvfGA", "https://www.youtube.com/watch?v=JqJ65GYvfGA", "/downloads/Felix Hentschel/Season 2025/s2025e042400 - Ab April: Rennrad-Verbot für Triathleten!!!.mp4", false, ~U[2025-04-24 14:57:33Z]] 04:04:30.317 [debug] QUERY OK source="sources" db=0.2ms idle=159.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.318 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:30.318 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3547922] 04:04:30.318 [debug] Current batch of media processed. Will check again in 1000ms 04:04:30.756 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@FelixHentschel --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Felix Hentschel/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/12/00/12007481bc919b388934ae7cbed25d4dd0d19cf7d34207e9a532fc8f0ba806b9.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6b/9f/6b9f018b637662b1e95c6fa4ccfcaca19f8904daa80b7480b825069082f57fbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:04:30.757 [debug] Gracefully stopping file follower 04:04:30.757 [debug] QUERY OK source="sources" db=0.2ms idle=450.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [56] 04:04:30.758 [debug] QUERY OK source="sources" db=0.0ms idle=440.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.758 [debug] QUERY OK source="media_items" db=0.5ms idle=440.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-02 14:43:11Z], 56] 04:04:30.759 [debug] QUERY OK source="media_items" db=0.7ms idle=440.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach 20 Jahren Leistungssport – von der Laufbahn zum Triathlon – wage ich mich auf völlig neues Terrain: Meinen ersten richtigen Trailrun beim Innsbruck Alpine Trailrun Festival (K35 Discovery Race)! 🏔️\n\nDie nackten Zahlen klingen wild: 37,8 km und über 2.100 Höhenmeter bergauf, aber fast 2.500 Meter bergab. Warum mich gerade der \"Downhill\" nervös macht und wie ich meine Vorbereitung in den verbleibenden 12 Wochen plane, erfahrt ihr in diesem Video.\n\nIch nehme euch mit bei meiner ersten Trail-Session im Schnee hoch zur Altenburg und mache am Schreibtisch den Deep-Dive:\n✅ Streckenanalyse via Strava (Segmente & Pace)\n✅ Profi-Einschätzung von Trail-Expertin Ida Sophie Hegemann\n\nSeid ihr schon mal einen Trail gelaufen? Was waren eure größten Fehler oder Learnings? Schreibt es mir in die Kommentare – ich kann jeden Tipp gebrauchen! 😂\n\nTimeline:\n00:00 20 Jahre Laufen: Zeit für was Neues!\n01:30 Bahn vs. Triathlon vs. Trail: Was ist der Unterschied?\n03:15 Die nackten Fakten: K35 Discovery Race Analyse\n05:40 Strava-Check: Wie schnell laufen die Profis?\n07:20 Pacing & Verpflegung am Berg\n08:45 Expertentalk mit Ida Sophie Hegemann\n10:30 Fazit & erste Trail-Session im Schnee\n\nIda-Sophie Hegemann: https://www.instagram.com/running_ida/\nHöhenmeter pro Kilometer Podcast: https://hmkm.podigee.io/\nInnsbruck Trail: https://innsbruckalpine.at/k35/\n\n#Trailrunning #InnsbruckAlpine #Laufen #\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️", "0da221ae-181b-4782-aae1-2af58e9c0d80", false, 56, [], 529, false, "c4-dSe3XOHc", "https://www.youtube.com/watch?v=c4-dSe3XOHc", 1, "/downloads/Felix Hentschel/Season 2026/s2026e020200 - Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️.mp4", false, false, 98, ~U[2026-02-02 14:43:11Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Nach 20 Jahren Leistungssport – von der Laufbahn zum Triathlon – wage ich mich auf völlig neues Terrain: Meinen ersten richtigen Trailrun beim Innsbruck Alpine Trailrun Festival (K35 Discovery Race)! 🏔️\n\nDie nackten Zahlen klingen wild: 37,8 km und über 2.100 Höhenmeter bergauf, aber fast 2.500 Meter bergab. Warum mich gerade der \"Downhill\" nervös macht und wie ich meine Vorbereitung in den verbleibenden 12 Wochen plane, erfahrt ihr in diesem Video.\n\nIch nehme euch mit bei meiner ersten Trail-Session im Schnee hoch zur Altenburg und mache am Schreibtisch den Deep-Dive:\n✅ Streckenanalyse via Strava (Segmente & Pace)\n✅ Profi-Einschätzung von Trail-Expertin Ida Sophie Hegemann\n\nSeid ihr schon mal einen Trail gelaufen? Was waren eure größten Fehler oder Learnings? Schreibt es mir in die Kommentare – ich kann jeden Tipp gebrauchen! 😂\n\nTimeline:\n00:00 20 Jahre Laufen: Zeit für was Neues!\n01:30 Bahn vs. Triathlon vs. Trail: Was ist der Unterschied?\n03:15 Die nackten Fakten: K35 Discovery Race Analyse\n05:40 Strava-Check: Wie schnell laufen die Profis?\n07:20 Pacing & Verpflegung am Berg\n08:45 Expertentalk mit Ida Sophie Hegemann\n10:30 Fazit & erste Trail-Session im Schnee\n\nIda-Sophie Hegemann: https://www.instagram.com/running_ida/\nHöhenmeter pro Kilometer Podcast: https://hmkm.podigee.io/\nInnsbruck Trail: https://innsbruckalpine.at/k35/\n\n#Trailrunning #InnsbruckAlpine #Laufen #\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️", 56, 529, false, "c4-dSe3XOHc", "https://www.youtube.com/watch?v=c4-dSe3XOHc", "/downloads/Felix Hentschel/Season 2026/s2026e020200 - Vom Profi-Triathlet zum Trailrun-Anfänger: Meine Analyse für den Innsbruck K35! 🏃\u200D♂️⛰️.mp4", false, ~U[2026-02-02 14:43:11Z]] 04:04:30.760 [debug] QUERY OK source="sources" db=0.1ms idle=441.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.761 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 12:52:31Z], 56] 04:04:30.761 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach der Winterpause geht's wieder mit regelmäßigem Laufen los – aber mit 72kg auf der Waage und einer Schwelle, die weit von meinem Ziel entfernt ist. In diesem Video zeige ich euch meinen aktuellen Trainingsstand, meine erste Lauf-Threshold-Session seit Wochen und verrate, für welchen Trail Run ich mich angemeldet habe.\n\nEndurance High-Performance Coaching: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\n#laufen #marathon #trailrunning", "Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2", "732ecdf0-91b3-4746-b20d-a5c4bea865ac", false, 56, [], 467, false, "lpLvCOFFj9E", "https://www.youtube.com/watch?v=lpLvCOFFj9E", 2, "/downloads/Felix Hentschel/Season 2026/s2026e011900 - Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2.mp4", false, false, 98, ~U[2026-01-19 12:52:31Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Nach der Winterpause geht's wieder mit regelmäßigem Laufen los – aber mit 72kg auf der Waage und einer Schwelle, die weit von meinem Ziel entfernt ist. In diesem Video zeige ich euch meinen aktuellen Trainingsstand, meine erste Lauf-Threshold-Session seit Wochen und verrate, für welchen Trail Run ich mich angemeldet habe.\n\nEndurance High-Performance Coaching: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\n#laufen #marathon #trailrunning", "Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2", 56, 467, false, "lpLvCOFFj9E", "https://www.youtube.com/watch?v=lpLvCOFFj9E", "/downloads/Felix Hentschel/Season 2026/s2026e011900 - Felix wird Trailläufer? | Lauf-Saisonplan 2026 - Teil 2.mp4", false, ~U[2026-01-19 12:52:31Z]] 04:04:30.762 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.762 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 17:15:01Z], 56] 04:04:30.763 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Das es mal so weit kommt, hätte ich auch nicht gedacht. Zumindest nicht so schnell. Aber ich hab mir das auch irgendwie selber eingebrockt - jetzt muss ich da durch, bzw. muss mich da raus-laufen. \n\nSport habe ich in den letzten sechs Monaten echt nicht viel gemacht. Ganz ohne Ziele, fehlte mir auch einfach die Motivation - \"nur\" Gesundheitssport? Geht irgendwie auch noch nicht. Zumindest kann das im Moment nicht der einzige Antrieb sein.\n#laufen #lauftraining \n\nMenschliches Coaching: schreibe mir bitte eine Mail an: coaching@felixhentschel.de und wir vereinbaren einen Termin für einen unverbindlichen Video-Call.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1", "52fb5b96-d7ca-42f3-8dc3-1c7344ea4b29", false, 56, [], 255, false, "KEsUyv0bQVY", "https://www.youtube.com/watch?v=KEsUyv0bQVY", 3, "/downloads/Felix Hentschel/Season 2026/s2026e011200 - Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1.mp4", false, false, 98, ~U[2026-01-12 17:15:01Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Das es mal so weit kommt, hätte ich auch nicht gedacht. Zumindest nicht so schnell. Aber ich hab mir das auch irgendwie selber eingebrockt - jetzt muss ich da durch, bzw. muss mich da raus-laufen. \n\nSport habe ich in den letzten sechs Monaten echt nicht viel gemacht. Ganz ohne Ziele, fehlte mir auch einfach die Motivation - \"nur\" Gesundheitssport? Geht irgendwie auch noch nicht. Zumindest kann das im Moment nicht der einzige Antrieb sein.\n#laufen #lauftraining \n\nMenschliches Coaching: schreibe mir bitte eine Mail an: coaching@felixhentschel.de und wir vereinbaren einen Termin für einen unverbindlichen Video-Call.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1", 56, 255, false, "KEsUyv0bQVY", "https://www.youtube.com/watch?v=KEsUyv0bQVY", "/downloads/Felix Hentschel/Season 2026/s2026e011200 - Werde ich nochmal schnell laufen? | Life-Update & Saisonplan 2026 - Teil 1.mp4", false, ~U[2026-01-12 17:15:01Z]] 04:04:30.763 [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" = ?) [56] 04:04:30.764 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 10:17:13Z], 56] 04:04:30.765 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Susi hat sich ins Studio verirrt und dann hab ich sie mit den Audiokabeln vom Podcast-Aufnahmegerät gefesselt. Ob die Aufnahme mit mir entspannender war, als ein Tag mit zwei Kindern? Hör mal selber!\nWie dieser YouTube-Sidequest mit Susi weitergeht, kann ich eben auch noch nicht sagen. Da ist noch ganz viel Work-In-Progress, aber das macht es für mich sehr spannend. Lass mich wissen, was Du dir für das Format vorstellen könntest. Gerne hier in den Kommentaren!\n\n\nHier das Video von Steve Magness: https://www.youtube.com/watch?v=xluo0RK7hwE&t=187s", "Talk mit Susanne Hentschel | Hier wird geflucht!", "789eb069-fe59-4642-94d8-f74c11a3d6ce", false, 56, [], 2453, false, "LkLcawJTl7g", "https://www.youtube.com/watch?v=LkLcawJTl7g", 4, "/downloads/Felix Hentschel/Season 2025/s2025e102300 - Talk mit Susanne Hentschel | Hier wird geflucht!.NA", false, false, 98, ~U[2025-10-23 10:17:13Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Susi hat sich ins Studio verirrt und dann hab ich sie mit den Audiokabeln vom Podcast-Aufnahmegerät gefesselt. Ob die Aufnahme mit mir entspannender war, als ein Tag mit zwei Kindern? Hör mal selber!\nWie dieser YouTube-Sidequest mit Susi weitergeht, kann ich eben auch noch nicht sagen. Da ist noch ganz viel Work-In-Progress, aber das macht es für mich sehr spannend. Lass mich wissen, was Du dir für das Format vorstellen könntest. Gerne hier in den Kommentaren!\n\n\nHier das Video von Steve Magness: https://www.youtube.com/watch?v=xluo0RK7hwE&t=187s", "Talk mit Susanne Hentschel | Hier wird geflucht!", 56, 2453, false, "LkLcawJTl7g", "https://www.youtube.com/watch?v=LkLcawJTl7g", "/downloads/Felix Hentschel/Season 2025/s2025e102300 - Talk mit Susanne Hentschel | Hier wird geflucht!.NA", false, ~U[2025-10-23 10:17:13Z]] 04:04:30.765 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.765 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 12:16:00Z], 56] 04:04:30.766 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Heute trete ich bei einem Ausscheidungsrennen gegen einige der schnellsten Läufer Deutschlands an. Das Problem: Ich bin völlig untrainiert. Drei Monate kaum Bewegung – jetzt heißt es „Überleben pro Runde“. Wer fliegt zuerst raus? #runningchallenge \n\n🏃\u200D♂️ Format: 1-Meilen-Ausscheidung\n🎥 Mit dabei: Profi- und Nachwuchsläufer\n😅 Ziel: Nicht Letzter werden. Spoiler: schwierig.\n\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags", "accb1dcb-252a-4c90-a66f-c0f9c3d264f5", false, 56, [], 531, false, "DZ_CCLkQIQY", "https://www.youtube.com/watch?v=DZ_CCLkQIQY", 5, "/downloads/Felix Hentschel/Season 2025/s2025e100900 - Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags.mp4", false, false, 98, ~U[2025-10-09 12:16:00Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Heute trete ich bei einem Ausscheidungsrennen gegen einige der schnellsten Läufer Deutschlands an. Das Problem: Ich bin völlig untrainiert. Drei Monate kaum Bewegung – jetzt heißt es „Überleben pro Runde“. Wer fliegt zuerst raus? #runningchallenge \n\n🏃\u200D♂️ Format: 1-Meilen-Ausscheidung\n🎥 Mit dabei: Profi- und Nachwuchsläufer\n😅 Ziel: Nicht Letzter werden. Spoiler: schwierig.\n\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags", 56, 531, false, "DZ_CCLkQIQY", "https://www.youtube.com/watch?v=DZ_CCLkQIQY", "/downloads/Felix Hentschel/Season 2025/s2025e100900 - Ich bin total UNFIT und laufe gegen Deutschlands beste Läufer! @RunningGags.mp4", false, ~U[2025-10-09 12:16:00Z]] 04:04:30.767 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.767 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 08:44:47Z], 56] 04:04:30.768 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Wie setzt man sich als Sportler richtig Ziele? Nach 20 Jahren als Triathlon-Profi erzähle ich euch mein System - von langfristigen Zielen bis zu täglichen Mini-Routinen.\nMich interessiert wirklich:\nWie macht ihr das mit euren Zielen? Kommt das bei euch ganz natürlich oder denkt ihr bewusst drüber nach?\nUnd vor allem: Was sind eure Ziele für die nächsten Monate? Schreibt sie gerne konkret in die Kommentare - ich lese alle und gebe euch Feedback!\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "3 Ziel-Arten, die JEDEN Sportler besser machen", "1eb98acc-d379-46ed-b1ad-0f72badef47e", false, 56, [], 499, false, "daCG6q7wxCY", "https://www.youtube.com/watch?v=daCG6q7wxCY", 6, "/downloads/Felix Hentschel/Season 2025/s2025e072600 - 3 Ziel-Arten, die JEDEN Sportler besser machen.mp4", false, false, 98, ~U[2025-07-26 08:44:47Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Wie setzt man sich als Sportler richtig Ziele? Nach 20 Jahren als Triathlon-Profi erzähle ich euch mein System - von langfristigen Zielen bis zu täglichen Mini-Routinen.\nMich interessiert wirklich:\nWie macht ihr das mit euren Zielen? Kommt das bei euch ganz natürlich oder denkt ihr bewusst drüber nach?\nUnd vor allem: Was sind eure Ziele für die nächsten Monate? Schreibt sie gerne konkret in die Kommentare - ich lese alle und gebe euch Feedback!\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "3 Ziel-Arten, die JEDEN Sportler besser machen", 56, 499, false, "daCG6q7wxCY", "https://www.youtube.com/watch?v=daCG6q7wxCY", "/downloads/Felix Hentschel/Season 2025/s2025e072600 - 3 Ziel-Arten, die JEDEN Sportler besser machen.mp4", false, ~U[2025-07-26 08:44:47Z]] 04:04:30.769 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.769 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 16:00:13Z], 56] 04:04:30.770 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nach dem Ende meiner Profikarriere vor sieben Tagen fühlt sich alles anders an als erwartet. Ich reflektiere über die Entscheidungen, die zu diesem Schritt führten, und teile meine Erfahrungen. Begleitet mich auf dieser Reise der Veränderung und des Mindset, während ich mich neuen Herausforderungen stelle und mein Wohlbefinden in den Fokus rücke, um meine neue persönliche Motivation zu finden.\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1", "2f3bae8d-0fce-4c11-a9ea-95a331ee4fff", false, 56, [], 313, false, "8NAz-vd7BBw", "https://www.youtube.com/watch?v=8NAz-vd7BBw", 7, "/downloads/Felix Hentschel/Season 2025/s2025e071600 - Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1.mp4", false, false, 98, ~U[2025-07-16 16:00:13Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Nach dem Ende meiner Profikarriere vor sieben Tagen fühlt sich alles anders an als erwartet. Ich reflektiere über die Entscheidungen, die zu diesem Schritt führten, und teile meine Erfahrungen. Begleitet mich auf dieser Reise der Veränderung und des Mindset, während ich mich neuen Herausforderungen stelle und mein Wohlbefinden in den Fokus rücke, um meine neue persönliche Motivation zu finden.\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1", 56, 313, false, "8NAz-vd7BBw", "https://www.youtube.com/watch?v=8NAz-vd7BBw", "/downloads/Felix Hentschel/Season 2025/s2025e071600 - Mein Leben nach dem Profisport – Überraschende Wahrheit! | Woche 1.mp4", false, ~U[2025-07-16 16:00:13Z]] 04:04:30.770 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.771 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 14:25:12Z], 56] 04:04:30.772 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["18. Platz beim Challenge Roth 2025 - es war wieder eik unglaubliches Triathlon-Fest und die Stimmung und Energie beim Challenge Roth war und ist einfach einzigartig. Perfekt für meinen Abschluss als Profi-Triathlet.\n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?", "ad54894c-e6e1-4fea-b2c5-29e38b18d724", false, 56, [], 537, false, "9JhPOo261ns", "https://www.youtube.com/watch?v=9JhPOo261ns", 8, "/downloads/Felix Hentschel/Season 2025/s2025e070800 - Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?.mp4", false, false, 98, ~U[2025-07-08 14:25:12Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "18. Platz beim Challenge Roth 2025 - es war wieder eik unglaubliches Triathlon-Fest und die Stimmung und Energie beim Challenge Roth war und ist einfach einzigartig. Perfekt für meinen Abschluss als Profi-Triathlet.\n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?", 56, 537, false, "9JhPOo261ns", "https://www.youtube.com/watch?v=9JhPOo261ns", "/downloads/Felix Hentschel/Season 2025/s2025e070800 - Mein letztes Rennen als Profi Triathlet – Wie lief es wirklich?.mp4", false, ~U[2025-07-08 14:25:12Z]] 04:04:30.772 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.772 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-02 16:42:05Z], 56] 04:04:30.773 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In einer Woche werde ich meine Sport Karriere nach dem Challenge Roth beenden, was einen kompletten Neustart bedeutet. Ich freue mich darauf, neue Ziele setzen zu können und mich neuen Herausforderungen zu stellen. Zur Sicherheit habe ich mit Mari Dottschadis gesprochen. Sie ist Sportpsychologin und hat mir erklärt, was so auf mich zukommen könnte.\n👉 Hier kannst Du Mari finden: \nWebsite: http://mentaltrainiert.com\nInstagram: https://www.instagram.com/marirennt/\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Was passiert, wenn du als Profisportler aufhörst?", "2ba408c4-9807-43e9-868d-4e22d6531423", false, 56, [], 986, false, "JgKRguU22uY", "https://www.youtube.com/watch?v=JgKRguU22uY", 9, "/downloads/Felix Hentschel/Season 2025/s2025e070200 - Was passiert, wenn du als Profisportler aufhörst?.mp4", false, false, 98, ~U[2025-07-02 16:42:05Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "In einer Woche werde ich meine Sport Karriere nach dem Challenge Roth beenden, was einen kompletten Neustart bedeutet. Ich freue mich darauf, neue Ziele setzen zu können und mich neuen Herausforderungen zu stellen. Zur Sicherheit habe ich mit Mari Dottschadis gesprochen. Sie ist Sportpsychologin und hat mir erklärt, was so auf mich zukommen könnte.\n👉 Hier kannst Du Mari finden: \nWebsite: http://mentaltrainiert.com\nInstagram: https://www.instagram.com/marirennt/\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––", "Was passiert, wenn du als Profisportler aufhörst?", 56, 986, false, "JgKRguU22uY", "https://www.youtube.com/watch?v=JgKRguU22uY", "/downloads/Felix Hentschel/Season 2025/s2025e070200 - Was passiert, wenn du als Profisportler aufhörst?.mp4", false, ~U[2025-07-02 16:42:05Z]] 04:04:30.773 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.774 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-25 15:30:11Z], 56] 04:04:30.775 [debug] QUERY OK source="media_items" db=0.9ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nur noch wenige Tage bis zum Challenge Roth! Die Vorbereitung läuft, aber es gibt Schwierigkeiten. Ich frage mich, ob ich meinen Traum vom Challenge Roth 2025, dem prestigeträchtigsten Triathlon-Rennen, verwirklichen kann. Die gebrochenen Rippen helfen nicht!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?", "6e955f30-7cab-44d7-b6d0-b062296b2403", false, 56, [], 519, false, "LZB9a0Q11_g", "https://www.youtube.com/watch?v=LZB9a0Q11_g", 10, "/downloads/Felix Hentschel/Season 2025/s2025e062500 - Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?.mp4", false, false, 98, ~U[2025-06-25 15:30:11Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Nur noch wenige Tage bis zum Challenge Roth! Die Vorbereitung läuft, aber es gibt Schwierigkeiten. Ich frage mich, ob ich meinen Traum vom Challenge Roth 2025, dem prestigeträchtigsten Triathlon-Rennen, verwirklichen kann. Die gebrochenen Rippen helfen nicht!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?", 56, 519, false, "LZB9a0Q11_g", "https://www.youtube.com/watch?v=LZB9a0Q11_g", "/downloads/Felix Hentschel/Season 2025/s2025e062500 - Schaffe ich es wirklich an die Startlinie vom Challenge Roth 2025?.mp4", false, ~U[2025-06-25 15:30:11Z]] 04:04:30.775 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.776 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 14:45:03Z], 56] 04:04:30.777 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Noch 19 Tage zum Challenge Roth 2025. Nicht die Vorbereitung, die ich mir vorgestellt hatte.\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Drei Rippen gebrochen – was jetzt?", "db0f7d9d-4c1e-4cc3-8b11-ca3dc15d1a53", false, 56, [], 707, false, "E-APz1LfFwI", "https://www.youtube.com/watch?v=E-APz1LfFwI", 11, "/downloads/Felix Hentschel/Season 2025/s2025e061700 - Drei Rippen gebrochen – was jetzt?.mp4", false, false, 98, ~U[2025-06-17 14:45:03Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Noch 19 Tage zum Challenge Roth 2025. Nicht die Vorbereitung, die ich mir vorgestellt hatte.\n\nPersönliches Triathlon Training: http://bit.ly/FelixHentschelCoaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Drei Rippen gebrochen – was jetzt?", 56, 707, false, "E-APz1LfFwI", "https://www.youtube.com/watch?v=E-APz1LfFwI", "/downloads/Felix Hentschel/Season 2025/s2025e061700 - Drei Rippen gebrochen – was jetzt?.mp4", false, ~U[2025-06-17 14:45:03Z]] 04:04:30.777 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.777 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-11 15:19:40Z], 56] 04:04:30.778 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mit Sören vom watt is los Podcast sprechen wir über mein geplantes Exit aus dem Leistungssport. Sörens eigenen Podcast findet ihr hier: https://open.spotify.com/episode/2qGBNtwKq6vTTnEBINjDWH?si=lqEH8mvKRAa1onS2M_OOYQ\n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Karriereende - wann, warum, was dann?", "925ace02-2684-41a6-832d-b9f979a3071c", false, 56, [], 5829, false, "DBHjzU7gjtQ", "https://www.youtube.com/watch?v=DBHjzU7gjtQ", 12, "/downloads/Felix Hentschel/Season 2025/s2025e061100 - Karriereende - wann, warum, was dann?.mp4", false, false, 98, ~U[2025-06-11 15:19:40Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Mit Sören vom watt is los Podcast sprechen wir über mein geplantes Exit aus dem Leistungssport. Sörens eigenen Podcast findet ihr hier: https://open.spotify.com/episode/2qGBNtwKq6vTTnEBINjDWH?si=lqEH8mvKRAa1onS2M_OOYQ\n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Karriereende - wann, warum, was dann?", 56, 5829, false, "DBHjzU7gjtQ", "https://www.youtube.com/watch?v=DBHjzU7gjtQ", "/downloads/Felix Hentschel/Season 2025/s2025e061100 - Karriereende - wann, warum, was dann?.mp4", false, ~U[2025-06-11 15:19:40Z]] 04:04:30.779 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.779 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-02 10:33:32Z], 56] 04:04:30.780 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Zum dritten Mal bin ich hier in Ingolstadt am Start gewesen und es war diesmal eine moralische Achterbahnfahrt. Nach einem guten Schwimmen, habe ich auf dem Rad echt gelitten und mich gar nicht gut gefühlt. So ging es beim Laufen auch erstmal weiter, bis ich dann so langsam Licht am Ende des Tunnels gesehen habe... \nSpare auf deinen Laufradsatz: bei Aerycs bekommst Du mit dem Code \"FELIX50\" 50 Euro auf deine Bestellung. https://aerycs.de/?utm_source=influencer&utm_medium=link&utm_campaign=felix\nEinlösbar auf alle Laufradsätze, ausgenommen Outletartikel und unsere Alu-Sätze und gültig bis 30.06.25\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "\"Ich war so kurz vorm Aufgeben!\" | 3. Platz beim Ingolstadt Triathlon 2025", "342ab3e4-3df7-4e0d-8cc9-67873f3f4485", false, 56, [], 251, false, "BKtseV9spBo", "https://www.youtube.com/watch?v=BKtseV9spBo", 13, "/downloads/Felix Hentschel/Season 2025/s2025e060200 - "Ich war so kurz vorm Aufgeben!" | 3. Platz beim Ingolstadt Triathlon 2025.mp4", false, false, 98, ~U[2025-06-02 10:33:32Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Zum dritten Mal bin ich hier in Ingolstadt am Start gewesen und es war diesmal eine moralische Achterbahnfahrt. Nach einem guten Schwimmen, habe ich auf dem Rad echt gelitten und mich gar nicht gut gefühlt. So ging es beim Laufen auch erstmal weiter, bis ich dann so langsam Licht am Ende des Tunnels gesehen habe... \nSpare auf deinen Laufradsatz: bei Aerycs bekommst Du mit dem Code \"FELIX50\" 50 Euro auf deine Bestellung. https://aerycs.de/?utm_source=influencer&utm_medium=link&utm_campaign=felix\nEinlösbar auf alle Laufradsätze, ausgenommen Outletartikel und unsere Alu-Sätze und gültig bis 30.06.25\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "\"Ich war so kurz vorm Aufgeben!\" | 3. Platz beim Ingolstadt Triathlon 2025", 56, 251, false, "BKtseV9spBo", "https://www.youtube.com/watch?v=BKtseV9spBo", "/downloads/Felix Hentschel/Season 2025/s2025e060200 - "Ich war so kurz vorm Aufgeben!" | 3. Platz beim Ingolstadt Triathlon 2025.mp4", false, ~U[2025-06-02 10:33:32Z]] 04:04:30.780 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.781 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 15:15:00Z], 56] 04:04:30.783 [debug] QUERY OK source="media_items" db=2.1ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🏊\u200D♂️🚴\u200D♂️🏃\u200D♂️ MEIN ERSTES TRIATHLON-RENNEN 2025!\nServus Leute! Endlich ist es soweit - das erste Rennvideo des Jahres ist da! Beim IFA Nonstop Triathlon in Ebing habe ich die olympische Distanz in Angriff genommen. Besonderheit: Start erst um 14 Uhr - das bedeutet den ganzen Tag Nervosität aufbauen! 😅\n\n📊 MEINE ZEITEN & ANALYSE:\n\nSchwimmen: 16:29 (verkürzte Strecke, aber trotzdem zufrieden!)\nRadfahren: 43,3 km/h Schnitt über 6 Runden\nLaufen: 3:18-3:19 Pace trotz Trail-Bedingungen\nGesamtzeit: 1:50h - komplett solo gekämpft!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein erstes Triathlon Rennen 2025 – So war der Start!", "7e635c1f-8838-4860-9351-1f613aa23176", false, 56, [], 307, false, "46W_DEdQ_9w", "https://www.youtube.com/watch?v=46W_DEdQ_9w", 14, "/downloads/Felix Hentschel/Season 2025/s2025e052700 - Mein erstes Triathlon Rennen 2025 – So war der Start!.mp4", false, false, 98, ~U[2025-05-27 15:15:00Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "🏊\u200D♂️🚴\u200D♂️🏃\u200D♂️ MEIN ERSTES TRIATHLON-RENNEN 2025!\nServus Leute! Endlich ist es soweit - das erste Rennvideo des Jahres ist da! Beim IFA Nonstop Triathlon in Ebing habe ich die olympische Distanz in Angriff genommen. Besonderheit: Start erst um 14 Uhr - das bedeutet den ganzen Tag Nervosität aufbauen! 😅\n\n📊 MEINE ZEITEN & ANALYSE:\n\nSchwimmen: 16:29 (verkürzte Strecke, aber trotzdem zufrieden!)\nRadfahren: 43,3 km/h Schnitt über 6 Runden\nLaufen: 3:18-3:19 Pace trotz Trail-Bedingungen\nGesamtzeit: 1:50h - komplett solo gekämpft!\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Mein erstes Triathlon Rennen 2025 – So war der Start!", 56, 307, false, "46W_DEdQ_9w", "https://www.youtube.com/watch?v=46W_DEdQ_9w", "/downloads/Felix Hentschel/Season 2025/s2025e052700 - Mein erstes Triathlon Rennen 2025 – So war der Start!.mp4", false, ~U[2025-05-27 15:15:00Z]] 04:04:30.784 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.784 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-21 14:51:18Z], 56] 04:04:30.785 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Einfach mal ganz entspannt ne Runde schwimmen. Morgens um sieben, da ist's still am Beckenrand.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schwimmen im Früh-Sommer | Bin ich schneller geworden?", "18f42947-e2e2-42b1-883e-2cb6d1757501", false, 56, [], 642, false, "djj2zRi5kyQ", "https://www.youtube.com/watch?v=djj2zRi5kyQ", 15, "/downloads/Felix Hentschel/Season 2025/s2025e052100 - Schwimmen im Früh-Sommer | Bin ich schneller geworden?.mp4", false, false, 98, ~U[2025-05-21 14:51:18Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Einfach mal ganz entspannt ne Runde schwimmen. Morgens um sieben, da ist's still am Beckenrand.\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Schwimmen im Früh-Sommer | Bin ich schneller geworden?", 56, 642, false, "djj2zRi5kyQ", "https://www.youtube.com/watch?v=djj2zRi5kyQ", "/downloads/Felix Hentschel/Season 2025/s2025e052100 - Schwimmen im Früh-Sommer | Bin ich schneller geworden?.mp4", false, ~U[2025-05-21 14:51:18Z]] 04:04:30.786 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.786 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-14 15:01:13Z], 56] 04:04:30.787 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der Tag an dem ich 7300 Kalorien verbrannt habe, ein hungernder Körper und die Frage: Wie ernährt man sich bei so einer Belastung? Sicher einer meiner längsten Trainingstage in Vorbereitung auf den Challenge Roth 2025.\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie", "80322e82-b52f-4da9-a866-6886e69dcc21", false, 56, [], 837, false, "jI6uynDwaPY", "https://www.youtube.com/watch?v=jI6uynDwaPY", 16, "/downloads/Felix Hentschel/Season 2025/s2025e051400 - 7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie.mp4", false, false, 98, ~U[2025-05-14 15:01:13Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Der Tag an dem ich 7300 Kalorien verbrannt habe, ein hungernder Körper und die Frage: Wie ernährt man sich bei so einer Belastung? Sicher einer meiner längsten Trainingstage in Vorbereitung auf den Challenge Roth 2025.\n\nPersönliches Triathlon Training: felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie", 56, 837, false, "jI6uynDwaPY", "https://www.youtube.com/watch?v=jI6uynDwaPY", "/downloads/Felix Hentschel/Season 2025/s2025e051400 - 7300 KALORIEN VERBRANNT: Extremes Triathlon Training | 6h Radfahren + Ernährungsstrategie.mp4", false, ~U[2025-05-14 15:01:13Z]] 04:04:30.788 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.788 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 16:55:04Z], 56] 04:04:30.789 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Noch acht Wochen bis zum Challenge Roth und mein Triathlon Langdistanz Training wird immer spezifischer. Drei Tage Profi-Training für den Challenge Roth gibt's in diesem Video, Vlog-Style teilweise etwas wirr... 😎\n\n#triathlontraining \n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "135g Kohlenhydrate in der Stunde - Schaff ich das?", "c94888e6-f537-4b5a-863c-f34fa612f753", false, 56, [], 887, false, "IG7pu-UwZDI", "https://www.youtube.com/watch?v=IG7pu-UwZDI", 17, "/downloads/Felix Hentschel/Season 2025/s2025e050800 - 135g Kohlenhydrate in der Stunde - Schaff ich das?.mp4", false, false, 98, ~U[2025-05-08 16:55:04Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Noch acht Wochen bis zum Challenge Roth und mein Triathlon Langdistanz Training wird immer spezifischer. Drei Tage Profi-Training für den Challenge Roth gibt's in diesem Video, Vlog-Style teilweise etwas wirr... 😎\n\n#triathlontraining \n\nPersönliches Triathlon Training: https://www.felixhentschel.de/coaching\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "135g Kohlenhydrate in der Stunde - Schaff ich das?", 56, 887, false, "IG7pu-UwZDI", "https://www.youtube.com/watch?v=IG7pu-UwZDI", "/downloads/Felix Hentschel/Season 2025/s2025e050800 - 135g Kohlenhydrate in der Stunde - Schaff ich das?.mp4", false, ~U[2025-05-08 16:55:04Z]] 04:04:30.790 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.790 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-02 10:29:08Z], 56] 04:04:30.791 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["HAST DU EINE MORNING ROUTINE? Schreib's mir in die Kommentare! Ich habe eine und teile sie heute mit euch!\nJa, meine sieht langweilig aus, ja sie ist sau langweilig, aber meine Morning Routine bereitet mich schnell und reibungslos auf meinen Tag vor. \n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Eine \"MORNING ROUTINE\" aus dem ECHTEN Leben eines Profi-Triathleten", "fbde4073-9c0c-4e8c-bb95-59c9e09a657a", false, 56, [], 301, false, "A91-Xtv-_N8", "https://www.youtube.com/watch?v=A91-Xtv-_N8", 18, "/downloads/Felix Hentschel/Season 2025/s2025e050200 - Eine "MORNING ROUTINE" aus dem ECHTEN Leben eines Profi-Triathleten.mp4", false, false, 98, ~U[2025-05-02 10:29:08Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "HAST DU EINE MORNING ROUTINE? Schreib's mir in die Kommentare! Ich habe eine und teile sie heute mit euch!\nJa, meine sieht langweilig aus, ja sie ist sau langweilig, aber meine Morning Routine bereitet mich schnell und reibungslos auf meinen Tag vor. \n\n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Eine \"MORNING ROUTINE\" aus dem ECHTEN Leben eines Profi-Triathleten", 56, 301, false, "A91-Xtv-_N8", "https://www.youtube.com/watch?v=A91-Xtv-_N8", "/downloads/Felix Hentschel/Season 2025/s2025e050200 - Eine "MORNING ROUTINE" aus dem ECHTEN Leben eines Profi-Triathleten.mp4", false, ~U[2025-05-02 10:29:08Z]] 04:04:30.791 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.792 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-24 14:57:33Z], 56] 04:04:30.793 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meine Tipps um im Triathlon noch schneller über die Radstrecke zu kommen, denn darum geht es: nach dem Schwimmen aufs Rad steigen und möglichst effizient in die nächste Wechselzone zu kommen, um beim Laufen dann den Triathlon stabil zu finishen, ganz egal, ob Sprintdistanz, Olympische, oder eine Langdistanz, wie den Challenge Roth.\nDas Pacing ist aber natürlich bei einer Triathlon Langdistanz schon wichtiger, als bei einer Sprintdistanz - habt ihr noch weitere Ratschläge: schreibt sie mir in die Kommentare! \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ab April: Rennrad-Verbot für Triathleten!!!", "9360d5a9-fde9-4d4d-932b-fde9585c59c8", false, 56, [], 709, false, "JqJ65GYvfGA", "https://www.youtube.com/watch?v=JqJ65GYvfGA", 19, "/downloads/Felix Hentschel/Season 2025/s2025e042400 - Ab April: Rennrad-Verbot für Triathleten!!!.mp4", false, false, 98, ~U[2025-04-24 14:57:33Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Meine Tipps um im Triathlon noch schneller über die Radstrecke zu kommen, denn darum geht es: nach dem Schwimmen aufs Rad steigen und möglichst effizient in die nächste Wechselzone zu kommen, um beim Laufen dann den Triathlon stabil zu finishen, ganz egal, ob Sprintdistanz, Olympische, oder eine Langdistanz, wie den Challenge Roth.\nDas Pacing ist aber natürlich bei einer Triathlon Langdistanz schon wichtiger, als bei einer Sprintdistanz - habt ihr noch weitere Ratschläge: schreibt sie mir in die Kommentare! \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Ab April: Rennrad-Verbot für Triathleten!!!", 56, 709, false, "JqJ65GYvfGA", "https://www.youtube.com/watch?v=JqJ65GYvfGA", "/downloads/Felix Hentschel/Season 2025/s2025e042400 - Ab April: Rennrad-Verbot für Triathleten!!!.mp4", false, ~U[2025-04-24 14:57:33Z]] 04:04:30.793 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.794 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 18:37:47Z], 56] 04:04:30.816 [debug] QUERY OK source="media_items" db=21.8ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Das Training für den Challenge Roth 2025 läuft auf Hochtouren - für mich geht es in diesem Video wieder mal auf die Bahn, am Tag drauf dann für Intervalle aufs TT. Beide Male habe ich wieder Laktat gemessen, um mein Training optimal zu steuern.\n\nMein Partner in diesem Video: @kaptenandson \nKapten & Son - Hier findet ihr meinen Backpack: https://shop.kapten-son.com/4lprEEE\nNutzt den Code: \"FELIX10\" damit gibt es 10% auf alle Produkte & Produktkategorien - Der Code ist 30 Tage gültig! \n\n#triathlontraining #triathlon \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Laktat messen im Triathlon-Training - Das bringt's wirklich?", "8237f99b-5c49-4c28-be7f-5d46de7f8fa9", false, 56, [], 756, false, "UrJyVCCGqi4", "https://www.youtube.com/watch?v=UrJyVCCGqi4", 20, "/downloads/Felix Hentschel/Season 2025/s2025e041700 - Laktat messen im Triathlon-Training - Das bringt's wirklich?.mp4", false, false, 98, ~U[2025-04-17 18:37:47Z], ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], "Das Training für den Challenge Roth 2025 läuft auf Hochtouren - für mich geht es in diesem Video wieder mal auf die Bahn, am Tag drauf dann für Intervalle aufs TT. Beide Male habe ich wieder Laktat gemessen, um mein Training optimal zu steuern.\n\nMein Partner in diesem Video: @kaptenandson \nKapten & Son - Hier findet ihr meinen Backpack: https://shop.kapten-son.com/4lprEEE\nNutzt den Code: \"FELIX10\" damit gibt es 10% auf alle Produkte & Produktkategorien - Der Code ist 30 Tage gültig! \n\n#triathlontraining #triathlon \n–––––––––––––––\nSay Hi!\n👋 https://strava.app.link/flxhentschel\n👋 http://bit.ly/FELIXonINSTAGRAM\n👋 http://bit.ly/FELIXonFACEBOOK\n👋 http://bit.ly/FELIXHENTSCHEL\n–––––––––––––––\nAffiliate Links (Dich kostet es nicht mehr darüber einzukaufen, ich bekomme einen kleinen Anteil davon.)\nMein Laktatmessgerät: https://amzn.to/3tkZ4LH\nFür den Piechser in den Finger: https://amzn.to/3MXm1w4\n\nTechnik: \nMeine Kamera: https://amzn.to/3JjfvgN\nMein Objektiv I: https://amzn.to/367aLg3\nMein Objektiv II: https://amzn.to/36aZYBo\nMein Micro: https://amzn.to/3thL312\n\n\nBücher zum Thema Trainingswissenschaft:\nThe Science of Running von Steve Magness: https://amzn.to/2DMQADj\nPeak Performance von Steve Magness u.a.: https://amzn.to/2Bcz2yq\nAusdauertraining 2.0 von Sebastian Zeller u.a.: https://amzn.to/2Rpsi5O\nTraining and Racing with a Power Meter Hunter Allen: https://amzn.to/2RY5xuN", "Laktat messen im Triathlon-Training - Das bringt's wirklich?", 56, 756, false, "UrJyVCCGqi4", "https://www.youtube.com/watch?v=UrJyVCCGqi4", "/downloads/Felix Hentschel/Season 2025/s2025e041700 - Laktat messen im Triathlon-Training - Das bringt's wirklich?.mp4", false, ~U[2025-04-17 18:37:47Z]] 04:04:30.816 [debug] QUERY OK source="sources" db=0.1ms idle=24.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z], 56] 04:04:30.817 [debug] QUERY OK source="media_items" db=0.7ms idle=23.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [56] 04:04:30.819 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133835, 4265870, ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z]] 04:04:30.819 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [56] 04:04:30.820 [debug] QUERY OK source="media_items" db=0.1ms idle=2.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [56] 04:04:30.821 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133836, 56, ~U[2026-08-05 02:04:30Z], ~U[2026-08-05 02:04:30Z]] 04:04:30.821 [info] {"args":{"id":56},"id":133328,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":17683994,"event":"job:stop","queue_time":296968,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:04:30.824 [info] {"args":{"id":4265870},"id":133835,"meta":{},"system_time":1785895470824799833,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:30.825 [debug] QUERY OK source="media_items" db=0.1ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4265870] 04:04:30.825 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:04:30.825 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:30.825 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:30.826 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4265870] 04:04:30.826 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4265870] 04:04:30.827 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:30.827 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:30.827 [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 [] 04:04:30.827 [debug] Running yt-dlp command for action: get_downloadable_status 04:04:30.827 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:30.828 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:30.828 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:30.828 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/b3/8cb31e37cd235194a7ab54c0d45f916f820ccff532883aae8ab56d0002e8a465.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:32.686 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/b3/8cb31e37cd235194a7ab54c0d45f916f820ccff532883aae8ab56d0002e8a465.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] LkLcawJTl7g: This video is age-restricted and only available on YouTube. Learn more 04:04:32.686 [error] yt-dlp download error for media item #4265870: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: This video is age-restricted and only available on YouTube. Learn more\n" 04:04:32.686 [debug] QUERY OK source="media_items" db=0.4ms idle=820.8ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: This video is age-restricted and only available on YouTube. Learn more\n", ~U[2026-08-05 02:04:32Z], 4265870] 04:04:32.687 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4265870},"id":133835,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1862158,"event":"job:exception","queue_time":824359,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:47.025 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:51.179 [info] {"args":{"id":4265870},"id":133835,"meta":{},"system_time":1785895491178926383,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:51.179 [debug] QUERY OK source="media_items" db=0.1ms idle=1007.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4265870] 04:04:51.179 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:04:51.179 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:04:51.180 [debug] QUERY OK source="media_profiles" db=0.1ms idle=314.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:51.180 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4265870] 04:04:51.180 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4265870] 04:04:51.180 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:04:51.181 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:51.181 [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 [] 04:04:51.181 [debug] Running yt-dlp command for action: get_downloadable_status 04:04:51.181 [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 [] 04:04:51.181 [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 [] 04:04:51.182 [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 [] 04:04:51.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9d/72/9d72e3b6d7d5ee82f110b7840b7c2075057dc1898d3524407896dd2b35dcbb17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:53.267 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9d/72/9d72e3b6d7d5ee82f110b7840b7c2075057dc1898d3524407896dd2b35dcbb17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] LkLcawJTl7g: This video is age-restricted and only available on YouTube. Learn more 04:04:53.267 [error] yt-dlp download error for media item #4265870: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: This video is age-restricted and only available on YouTube. Learn more\n" 04:04:53.268 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4265870},"id":133835,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2089067,"event":"job:exception","queue_time":491336,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:00.422 [info] {"source":"oban","duration":1992,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:13.202 [info] {"args":{"id":4265870},"id":133835,"meta":{},"system_time":1785895513202174699,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:13.202 [debug] QUERY OK source="media_items" db=0.1ms idle=1002.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4265870] 04:05:13.202 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:05:13.203 [debug] QUERY OK source="sources" db=0.1ms idle=337.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [56] 04:05:13.203 [debug] QUERY OK source="media_profiles" db=0.1ms idle=337.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:13.203 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4265870] 04:05:13.204 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4265870] 04:05:13.204 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:13.205 [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 [] 04:05:13.205 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:13.205 [debug] Running yt-dlp command for action: get_downloadable_status 04:05:13.206 [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 [] 04:05:13.206 [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 [] 04:05:13.206 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:13.206 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/77/a277fe0d1493f6cdeee15bfac38c4b8e5232badb68f90dc7c171d8337fa0fa01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:15.366 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LkLcawJTl7g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/77/a277fe0d1493f6cdeee15bfac38c4b8e5232badb68f90dc7c171d8337fa0fa01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:05:15.366 [error] yt-dlp download error for media item #4265870: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:05:15.367 [debug] QUERY OK source="media_items" db=0.6ms idle=501.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2026-08-05 02:05:15Z], 4265870] 04:05:15.367 [error] yt-dlp download will not be retried: "WARNING: [youtube] LkLcawJTl7g: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] LkLcawJTl7g: Sign in to confirm your age. This video may be inappropriate for some users. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:05:15.368 [info] {"args":{"id":4265870},"id":133835,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2165745,"event":"job:stop","queue_time":933345,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:17.027 [info] {"source":"oban","duration":1968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:24.215 [info] {"args":{"id":31},"id":133329,"meta":{},"system_time":1785895524214916106,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:05:24.215 [debug] QUERY OK source="sources" db=0.1ms idle=1008.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:24.215 [debug] QUERY OK source="settings" db=0.1ms idle=1003.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.225 [debug] QUERY OK source="media_items" db=10.0ms idle=8.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:05:24.226 [debug] QUERY OK source="media_items" db=0.8ms idle=11.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:05:24.227 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:24.227 [debug] QUERY OK source="settings" db=0.0ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.227 [debug] QUERY OK source="settings" db=0.0ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.229 [debug] QUERY OK source="media_items" db=1.0ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [31] 04:05:24.230 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:05:24.230 [debug] Current batch of media processed. Will check again in 1000ms 04:05:24.230 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.230 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.230 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:24.230 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@howtotechstuff --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/How To Do Stuff/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/83/67/8367917e33292cb0b1db3568f2cf6ac314de6edf5cfc5e839234fc813169878a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/29/ad/29adf72c4f33ae780d2a3150706f68243910040afeaa1fe5d533998adcde56ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:25.231 [debug] Current batch of media processed. Will check again in 1000ms 04:05:26.232 [debug] Current batch of media processed. Will check again in 1000ms 04:05:27.233 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you’ve just picked up the new reMarkable Paper Pro Move, or you’re thinking about it, this video will help you get the most out of your device. I’m sharing 13 practical tips and tricks that work not only on the Paper Pro Move but also on the reMarkable Paper Pro since both run the same software. \nI’ll also share a couple of free tools and templates you can try, plus my honest thoughts after using the reMarkable Move for real work and planning. If you want a straightforward reMarkable Paper Pro Move review and a closer look at how this color e-ink tablet works in practice, you’re in the right place.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n🔗 LINKS\n► Download my FREE reMarkable templates: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Recalendar.me for FREE personalized calendar PDF: https://recalendar.me/\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/zZoYxOv8UZY\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Move Tips & Tricks\n00:42 Light Sleep Lock\n01:21 'Select Below' Gesture\n01:59 Snap Lines & Shapes\n02:30 Numbered Folders\n03:05 Insert Notes in PDFs\n03:38 Adjust PDF Contrast\n04:02 Widen Text Column for Typed Text\n04:33 Different Ways to Select Typed Text\n05:14 Tap PDF Links\n05:56 Quick Access to Favorite Drawer\n06:19 Custom Passcode\n06:48 Quick Frontlight Control\n07:21 ReCalendar Tool for Custom Calendars", "duration" => 538, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e100400 - Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!.mp4", "id" => "_wjeu1fgbRU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_wjeu1fgbRU", "playlist_index" => 1, "timestamp" => 1759588227, "title" => "Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!", "upload_date" => "20251004"} 04:05:27.234 [debug] QUERY OK source="sources" db=0.1ms idle=1368.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:27.234 [debug] QUERY OK source="sources" db=0.1ms idle=1024.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:27.234 [debug] QUERY OK source="media_items" db=0.2ms idle=1018.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-04 14:30:27Z], 31] 04:05:27.245 [debug] QUERY OK source="media_items" db=10.5ms idle=24.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’ve just picked up the new reMarkable Paper Pro Move, or you’re thinking about it, this video will help you get the most out of your device. I’m sharing 13 practical tips and tricks that work not only on the Paper Pro Move but also on the reMarkable Paper Pro since both run the same software. \nI’ll also share a couple of free tools and templates you can try, plus my honest thoughts after using the reMarkable Move for real work and planning. If you want a straightforward reMarkable Paper Pro Move review and a closer look at how this color e-ink tablet works in practice, you’re in the right place.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n🔗 LINKS\n► Download my FREE reMarkable templates: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Recalendar.me for FREE personalized calendar PDF: https://recalendar.me/\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/zZoYxOv8UZY\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Move Tips & Tricks\n00:42 Light Sleep Lock\n01:21 'Select Below' Gesture\n01:59 Snap Lines & Shapes\n02:30 Numbered Folders\n03:05 Insert Notes in PDFs\n03:38 Adjust PDF Contrast\n04:02 Widen Text Column for Typed Text\n04:33 Different Ways to Select Typed Text\n05:14 Tap PDF Links\n05:56 Quick Access to Favorite Drawer\n06:19 Custom Passcode\n06:48 Quick Frontlight Control\n07:21 ReCalendar Tool for Custom Calendars", "Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!", "5d97b7fe-fad8-40cf-a3aa-1c892de0f468", false, 31, [], 538, false, "_wjeu1fgbRU", "https://www.youtube.com/watch?v=_wjeu1fgbRU", 1, "/downloads/How To Do Stuff/Season 2025/s2025e100400 - Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!.mp4", false, false, 98, ~U[2025-10-04 14:30:27Z], ~U[2026-08-05 02:05:27Z], ~U[2026-08-05 02:05:27Z], "If you’ve just picked up the new reMarkable Paper Pro Move, or you’re thinking about it, this video will help you get the most out of your device. I’m sharing 13 practical tips and tricks that work not only on the Paper Pro Move but also on the reMarkable Paper Pro since both run the same software. \nI’ll also share a couple of free tools and templates you can try, plus my honest thoughts after using the reMarkable Move for real work and planning. If you want a straightforward reMarkable Paper Pro Move review and a closer look at how this color e-ink tablet works in practice, you’re in the right place.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n🔗 LINKS\n► Download my FREE reMarkable templates: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Recalendar.me for FREE personalized calendar PDF: https://recalendar.me/\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/zZoYxOv8UZY\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Move Tips & Tricks\n00:42 Light Sleep Lock\n01:21 'Select Below' Gesture\n01:59 Snap Lines & Shapes\n02:30 Numbered Folders\n03:05 Insert Notes in PDFs\n03:38 Adjust PDF Contrast\n04:02 Widen Text Column for Typed Text\n04:33 Different Ways to Select Typed Text\n05:14 Tap PDF Links\n05:56 Quick Access to Favorite Drawer\n06:19 Custom Passcode\n06:48 Quick Frontlight Control\n07:21 ReCalendar Tool for Custom Calendars", "Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!", 31, 538, false, "_wjeu1fgbRU", "https://www.youtube.com/watch?v=_wjeu1fgbRU", "/downloads/How To Do Stuff/Season 2025/s2025e100400 - Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!.mp4", false, ~U[2025-10-04 14:30:27Z]] 04:05:27.246 [debug] QUERY OK source="sources" db=0.2ms idle=29.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:27.246 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:27.246 [debug] QUERY OK source="media_items" db=0.1ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4210006] 04:05:27.246 [debug] Current batch of media processed. Will check again in 1000ms 04:05:28.247 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’m testing Viwoods latest releases, the W2 Stylus Pro and the Ceramic Stylus. The Stylus Pro feels like a solid upgrade with a smoother, more natural writing experience, while the Ceramic Stylus stands out with its ultra-precise tip for technical work. I’ll compare both to the original stylus and share my thoughts to help you decide which one is right for you.\n\n🛒 Thinking of getting Viwoods Stylus Pro(W2) or Ceramic Stylus? \n► Viwoods W2 Stylus Pro: https://viwoods.com/products/viwoods-stylus-pro?ref=HTDS\n\n► Viwoods C1 Ceramic Stylus: https://viwoods.com/products/viwoods-c1-ceramics-stylus?ref=HTDS\n\n🛒 Thinking of getting Viwoods AiPaper or AiPaper Mini (100 days FREE return from Viwoods website)? \n⭐️ Viwoods AiPaper\n► AMAZON 🇺🇸: https://amzn.to/42aAaPR\n► VIWOODS STORE: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n⭐️ Viwoods AiPaper Mini\n► AMAZON 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n\n⚡️Viwoods reviews:\n► https://youtu.be/dTgDSZvpflM\n► https://youtu.be/7nAaza_SCdk\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #aipapermini\n🎬 CHAPTERS\n00:00 Intro to W2 Stylus Pro & Ceramic Stylus\n00:34 Pricing\n01:40 Comparing to the Original W1 Stylus\n03:06 Custom Button Feature\n03:35 W2 Stylus Pro Review\n03:54 Nib Options: Felt vs POM\n04:41 Ceramic Stylus Review\n04:55 Ceramic Tip Design & Feel\n05:54 Sound Test: Ceramic vs Others\n06:51 Precision and Use Cases", "duration" => 500, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e092700 - Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus.mp4", "id" => "RZHh826SyPo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RZHh826SyPo", "playlist_index" => 2, "timestamp" => 1758983432, "title" => "Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus", "upload_date" => "20250927"} 04:05:28.247 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:28.248 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:28.248 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 14:30:32Z], 31] 04:05:28.259 [debug] QUERY OK source="media_items" db=10.0ms idle=36.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m testing Viwoods latest releases, the W2 Stylus Pro and the Ceramic Stylus. The Stylus Pro feels like a solid upgrade with a smoother, more natural writing experience, while the Ceramic Stylus stands out with its ultra-precise tip for technical work. I’ll compare both to the original stylus and share my thoughts to help you decide which one is right for you.\n\n🛒 Thinking of getting Viwoods Stylus Pro(W2) or Ceramic Stylus? \n► Viwoods W2 Stylus Pro: https://viwoods.com/products/viwoods-stylus-pro?ref=HTDS\n\n► Viwoods C1 Ceramic Stylus: https://viwoods.com/products/viwoods-c1-ceramics-stylus?ref=HTDS\n\n🛒 Thinking of getting Viwoods AiPaper or AiPaper Mini (100 days FREE return from Viwoods website)? \n⭐️ Viwoods AiPaper\n► AMAZON 🇺🇸: https://amzn.to/42aAaPR\n► VIWOODS STORE: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n⭐️ Viwoods AiPaper Mini\n► AMAZON 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n\n⚡️Viwoods reviews:\n► https://youtu.be/dTgDSZvpflM\n► https://youtu.be/7nAaza_SCdk\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #aipapermini\n🎬 CHAPTERS\n00:00 Intro to W2 Stylus Pro & Ceramic Stylus\n00:34 Pricing\n01:40 Comparing to the Original W1 Stylus\n03:06 Custom Button Feature\n03:35 W2 Stylus Pro Review\n03:54 Nib Options: Felt vs POM\n04:41 Ceramic Stylus Review\n04:55 Ceramic Tip Design & Feel\n05:54 Sound Test: Ceramic vs Others\n06:51 Precision and Use Cases", "Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus", "7e22adb6-e1ec-4c75-aac4-681a71ce3dbc", false, 31, [], 500, false, "RZHh826SyPo", "https://www.youtube.com/watch?v=RZHh826SyPo", 2, "/downloads/How To Do Stuff/Season 2025/s2025e092700 - Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus.mp4", false, false, 98, ~U[2025-09-27 14:30:32Z], ~U[2026-08-05 02:05:28Z], ~U[2026-08-05 02:05:28Z], "I’m testing Viwoods latest releases, the W2 Stylus Pro and the Ceramic Stylus. The Stylus Pro feels like a solid upgrade with a smoother, more natural writing experience, while the Ceramic Stylus stands out with its ultra-precise tip for technical work. I’ll compare both to the original stylus and share my thoughts to help you decide which one is right for you.\n\n🛒 Thinking of getting Viwoods Stylus Pro(W2) or Ceramic Stylus? \n► Viwoods W2 Stylus Pro: https://viwoods.com/products/viwoods-stylus-pro?ref=HTDS\n\n► Viwoods C1 Ceramic Stylus: https://viwoods.com/products/viwoods-c1-ceramics-stylus?ref=HTDS\n\n🛒 Thinking of getting Viwoods AiPaper or AiPaper Mini (100 days FREE return from Viwoods website)? \n⭐️ Viwoods AiPaper\n► AMAZON 🇺🇸: https://amzn.to/42aAaPR\n► VIWOODS STORE: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n⭐️ Viwoods AiPaper Mini\n► AMAZON 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n\n⚡️Viwoods reviews:\n► https://youtu.be/dTgDSZvpflM\n► https://youtu.be/7nAaza_SCdk\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #aipapermini\n🎬 CHAPTERS\n00:00 Intro to W2 Stylus Pro & Ceramic Stylus\n00:34 Pricing\n01:40 Comparing to the Original W1 Stylus\n03:06 Custom Button Feature\n03:35 W2 Stylus Pro Review\n03:54 Nib Options: Felt vs POM\n04:41 Ceramic Stylus Review\n04:55 Ceramic Tip Design & Feel\n05:54 Sound Test: Ceramic vs Others\n06:51 Precision and Use Cases", "Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus", 31, 500, false, "RZHh826SyPo", "https://www.youtube.com/watch?v=RZHh826SyPo", "/downloads/How To Do Stuff/Season 2025/s2025e092700 - Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus.mp4", false, ~U[2025-09-27 14:30:32Z]] 04:05:28.259 [debug] QUERY OK source="sources" db=0.1ms idle=41.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:28.259 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:28.259 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4190472] 04:05:28.259 [debug] Current batch of media processed. Will check again in 1000ms 04:05:29.260 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’ve been spending some time with reMarkable Paper Pro Move and I'm ready to share my honest thoughts. At first glance, the reMarkable Move looks like the perfect and smaller e-ink tablet to the Paper Pro; portable, premium, and built for note-taking on the go. And yes, the writing experience is genuinely one of the best I’ve ever had on an e-ink device.\nBut as you’ll see in this Paper Pro Move review, it’s not all smooth sailing. The reMarkable Pro Move comes with a few frustrating compromises in performance, battery life, and reading experience, especially when it comes to PDFs. I’ll also compare it directly with the larger Paper Pro, so you can see how notes and annotations scale between the two.\n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/l0dJBvuJ7KQ\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#remarkablemove #remarkablepaperpro #papertablet \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Move\n01:05 In a Nutshell (Quick Summary)\n02:12 Paper Pro Move vs Viwoods AiPaper\n03:47 Design & Build Quality\n04:32 reMarkable Move Case\n05:51 Display\n07:02 Reflectivity and Contrast Tests\n08:48 Marker vs Marker Plus\n09:47 Interface & Software Features\n10:50 Performance & Speed\n11:39 Extra Features\n12:39 Battery Life & Tests\n13:58 Writing Experience\n14:09 Note Scaling (Paper Pro vs Paper Pro Move)\n15:52 Reading Experience (EPUBs & PDFs)", "duration" => 1111, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e092000 - A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review.mp4", "id" => "zZoYxOv8UZY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zZoYxOv8UZY", "playlist_index" => 3, "timestamp" => 1758370509, "title" => "A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review", "upload_date" => "20250920"} 04:05:29.261 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:29.261 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:29.261 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-20 12:15:09Z], 31] 04:05:29.263 [debug] QUERY OK source="media_items" db=1.5ms idle=49.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve been spending some time with reMarkable Paper Pro Move and I'm ready to share my honest thoughts. At first glance, the reMarkable Move looks like the perfect and smaller e-ink tablet to the Paper Pro; portable, premium, and built for note-taking on the go. And yes, the writing experience is genuinely one of the best I’ve ever had on an e-ink device.\nBut as you’ll see in this Paper Pro Move review, it’s not all smooth sailing. The reMarkable Pro Move comes with a few frustrating compromises in performance, battery life, and reading experience, especially when it comes to PDFs. I’ll also compare it directly with the larger Paper Pro, so you can see how notes and annotations scale between the two.\n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/l0dJBvuJ7KQ\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#remarkablemove #remarkablepaperpro #papertablet \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Move\n01:05 In a Nutshell (Quick Summary)\n02:12 Paper Pro Move vs Viwoods AiPaper\n03:47 Design & Build Quality\n04:32 reMarkable Move Case\n05:51 Display\n07:02 Reflectivity and Contrast Tests\n08:48 Marker vs Marker Plus\n09:47 Interface & Software Features\n10:50 Performance & Speed\n11:39 Extra Features\n12:39 Battery Life & Tests\n13:58 Writing Experience\n14:09 Note Scaling (Paper Pro vs Paper Pro Move)\n15:52 Reading Experience (EPUBs & PDFs)", "A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review", "c75d054f-4799-40e0-be09-c5b83a239b20", false, 31, [], 1111, false, "zZoYxOv8UZY", "https://www.youtube.com/watch?v=zZoYxOv8UZY", 3, "/downloads/How To Do Stuff/Season 2025/s2025e092000 - A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review.mp4", false, false, 98, ~U[2025-09-20 12:15:09Z], ~U[2026-08-05 02:05:29Z], ~U[2026-08-05 02:05:29Z], "I’ve been spending some time with reMarkable Paper Pro Move and I'm ready to share my honest thoughts. At first glance, the reMarkable Move looks like the perfect and smaller e-ink tablet to the Paper Pro; portable, premium, and built for note-taking on the go. And yes, the writing experience is genuinely one of the best I’ve ever had on an e-ink device.\nBut as you’ll see in this Paper Pro Move review, it’s not all smooth sailing. The reMarkable Pro Move comes with a few frustrating compromises in performance, battery life, and reading experience, especially when it comes to PDFs. I’ll also compare it directly with the larger Paper Pro, so you can see how notes and annotations scale between the two.\n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/l0dJBvuJ7KQ\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#remarkablemove #remarkablepaperpro #papertablet \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Move\n01:05 In a Nutshell (Quick Summary)\n02:12 Paper Pro Move vs Viwoods AiPaper\n03:47 Design & Build Quality\n04:32 reMarkable Move Case\n05:51 Display\n07:02 Reflectivity and Contrast Tests\n08:48 Marker vs Marker Plus\n09:47 Interface & Software Features\n10:50 Performance & Speed\n11:39 Extra Features\n12:39 Battery Life & Tests\n13:58 Writing Experience\n14:09 Note Scaling (Paper Pro vs Paper Pro Move)\n15:52 Reading Experience (EPUBs & PDFs)", "A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review", 31, 1111, false, "zZoYxOv8UZY", "https://www.youtube.com/watch?v=zZoYxOv8UZY", "/downloads/How To Do Stuff/Season 2025/s2025e092000 - A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review.mp4", false, ~U[2025-09-20 12:15:09Z]] 04:05:29.264 [debug] QUERY OK source="sources" db=0.1ms idle=45.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:29.264 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:29.264 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4170760] 04:05:29.264 [debug] Current batch of media processed. Will check again in 1000ms 04:05:30.265 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n\nI got my hands on the AINOTE 2, the thinnest paper tablet I’ve ever tested, and I’m kind of blown away by how light and sleek this thing is. In this video, I take you through my full experience using it for reading, writing, and note-taking, and share what it’s like compared to other e-ink devices I’ve reviewed, especially the Viwoods AiPaper. If you’re curious about how this new Kickstarter tablet stacks up and whether it’s worth your time, this one’s for you!\n\n🔗 LINKS\n► AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n► Book Light for Reading in Bed (Amazon🇺🇸): https://amzn.to/4petTfI\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#einktablet #ainote2 #kickstarter \n🎬 CHAPTERS\n00:00 Meet the AINOTE 2\n01:23 AINOTE2 in a Nutshell\n02:40 Tech Specs\n04:08 Build Quality & Design\n06:25 Display Deep Dive\n07:07 Refresh Modes\n07:24 Ghosting\n07:50 No Frontlight\n08:22 Reading Experience\n08:42 Split Screen Feature\n09:51 Writing Experience\n10:20 Stylus Features\n10:35 Stylus Sound Test vs Viwoods vs reMarkable\n11:41 Smart Gestures Explained\n12:12 Handwriting-to-Text Test\n12:47 AI Features\n13:15 Live AI Transcription Demo", "duration" => 906, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e091000 - I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review.mp4", "id" => "eQdT2xeMvsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eQdT2xeMvsM", "playlist_index" => 4, "timestamp" => 1757512305, "title" => "I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review", "upload_date" => "20250910"} 04:05:30.265 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:30.266 [debug] QUERY OK source="sources" db=0.0ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:30.266 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-10 13:51:45Z], 31] 04:05:30.267 [debug] QUERY OK source="media_items" db=1.0ms idle=52.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n\nI got my hands on the AINOTE 2, the thinnest paper tablet I’ve ever tested, and I’m kind of blown away by how light and sleek this thing is. In this video, I take you through my full experience using it for reading, writing, and note-taking, and share what it’s like compared to other e-ink devices I’ve reviewed, especially the Viwoods AiPaper. If you’re curious about how this new Kickstarter tablet stacks up and whether it’s worth your time, this one’s for you!\n\n🔗 LINKS\n► AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n► Book Light for Reading in Bed (Amazon🇺🇸): https://amzn.to/4petTfI\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#einktablet #ainote2 #kickstarter \n🎬 CHAPTERS\n00:00 Meet the AINOTE 2\n01:23 AINOTE2 in a Nutshell\n02:40 Tech Specs\n04:08 Build Quality & Design\n06:25 Display Deep Dive\n07:07 Refresh Modes\n07:24 Ghosting\n07:50 No Frontlight\n08:22 Reading Experience\n08:42 Split Screen Feature\n09:51 Writing Experience\n10:20 Stylus Features\n10:35 Stylus Sound Test vs Viwoods vs reMarkable\n11:41 Smart Gestures Explained\n12:12 Handwriting-to-Text Test\n12:47 AI Features\n13:15 Live AI Transcription Demo", "I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review", "8d56b042-4de7-4387-bdec-bf593ae4084e", false, 31, [], 906, false, "eQdT2xeMvsM", "https://www.youtube.com/watch?v=eQdT2xeMvsM", 4, "/downloads/How To Do Stuff/Season 2025/s2025e091000 - I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review.mp4", false, false, 98, ~U[2025-09-10 13:51:45Z], ~U[2026-08-05 02:05:30Z], ~U[2026-08-05 02:05:30Z], "AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n\nI got my hands on the AINOTE 2, the thinnest paper tablet I’ve ever tested, and I’m kind of blown away by how light and sleek this thing is. In this video, I take you through my full experience using it for reading, writing, and note-taking, and share what it’s like compared to other e-ink devices I’ve reviewed, especially the Viwoods AiPaper. If you’re curious about how this new Kickstarter tablet stacks up and whether it’s worth your time, this one’s for you!\n\n🔗 LINKS\n► AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n► Book Light for Reading in Bed (Amazon🇺🇸): https://amzn.to/4petTfI\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#einktablet #ainote2 #kickstarter \n🎬 CHAPTERS\n00:00 Meet the AINOTE 2\n01:23 AINOTE2 in a Nutshell\n02:40 Tech Specs\n04:08 Build Quality & Design\n06:25 Display Deep Dive\n07:07 Refresh Modes\n07:24 Ghosting\n07:50 No Frontlight\n08:22 Reading Experience\n08:42 Split Screen Feature\n09:51 Writing Experience\n10:20 Stylus Features\n10:35 Stylus Sound Test vs Viwoods vs reMarkable\n11:41 Smart Gestures Explained\n12:12 Handwriting-to-Text Test\n12:47 AI Features\n13:15 Live AI Transcription Demo", "I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review", 31, 906, false, "eQdT2xeMvsM", "https://www.youtube.com/watch?v=eQdT2xeMvsM", "/downloads/How To Do Stuff/Season 2025/s2025e091000 - I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review.mp4", false, ~U[2025-09-10 13:51:45Z]] 04:05:30.268 [debug] QUERY OK source="sources" db=0.1ms idle=48.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:30.268 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:30.268 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4141869] 04:05:30.268 [debug] Current batch of media processed. Will check again in 1000ms 04:05:31.269 [debug] Current batch of media processed. Will check again in 1000ms 04:05:32.270 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’ve been using the reMarkable Paper Pro since it first came out, and this new beta update 3.22 really has me thinking. On one hand, there are some nice reMarkable features here but on the other hand, one of the biggest features we’ve all been waiting for, handwriting search, is now locked behind a Connect subscription.\nI wanna share my thoughts on why this update has me a bit worried, and whether this approach makes sense for a premium device like the reMarkable Paper Pro.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Paper Pro Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other reMarkable videos:\n► https://youtu.be/45gmAtA8QZ4\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/l0dJBvuJ7KQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#remarkableupdate #digitalpaper #techupdate \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Update\n00:50 My Frustration with New Handwriting Search\n02:44 Toolbar Position\n03:00 New Icons Design", "duration" => 248, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e083000 - reMarkable, This 3.22 Update Has Me Worried….mp4", "id" => "SGkrqarj__0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SGkrqarj__0", "playlist_index" => 5, "timestamp" => 1756566047, "title" => "reMarkable, This 3.22 Update Has Me Worried…", "upload_date" => "20250830"} 04:05:32.271 [debug] QUERY OK source="sources" db=0.1ms idle=405.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:32.271 [debug] QUERY OK source="sources" db=0.0ms idle=405.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:32.271 [debug] QUERY OK source="media_items" db=0.4ms idle=406.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 15:00:47Z], 31] 04:05:32.282 [debug] QUERY OK source="media_items" db=9.8ms idle=56.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve been using the reMarkable Paper Pro since it first came out, and this new beta update 3.22 really has me thinking. On one hand, there are some nice reMarkable features here but on the other hand, one of the biggest features we’ve all been waiting for, handwriting search, is now locked behind a Connect subscription.\nI wanna share my thoughts on why this update has me a bit worried, and whether this approach makes sense for a premium device like the reMarkable Paper Pro.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Paper Pro Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other reMarkable videos:\n► https://youtu.be/45gmAtA8QZ4\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/l0dJBvuJ7KQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#remarkableupdate #digitalpaper #techupdate \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Update\n00:50 My Frustration with New Handwriting Search\n02:44 Toolbar Position\n03:00 New Icons Design", "reMarkable, This 3.22 Update Has Me Worried…", "e620b1db-0fcd-4714-87dc-0aa3916be218", false, 31, [], 248, false, "SGkrqarj__0", "https://www.youtube.com/watch?v=SGkrqarj__0", 5, "/downloads/How To Do Stuff/Season 2025/s2025e083000 - reMarkable, This 3.22 Update Has Me Worried….mp4", false, false, 98, ~U[2025-08-30 15:00:47Z], ~U[2026-08-05 02:05:32Z], ~U[2026-08-05 02:05:32Z], "I’ve been using the reMarkable Paper Pro since it first came out, and this new beta update 3.22 really has me thinking. On one hand, there are some nice reMarkable features here but on the other hand, one of the biggest features we’ve all been waiting for, handwriting search, is now locked behind a Connect subscription.\nI wanna share my thoughts on why this update has me a bit worried, and whether this approach makes sense for a premium device like the reMarkable Paper Pro.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Paper Pro Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other reMarkable videos:\n► https://youtu.be/45gmAtA8QZ4\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/l0dJBvuJ7KQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#remarkableupdate #digitalpaper #techupdate \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Update\n00:50 My Frustration with New Handwriting Search\n02:44 Toolbar Position\n03:00 New Icons Design", "reMarkable, This 3.22 Update Has Me Worried…", 31, 248, false, "SGkrqarj__0", "https://www.youtube.com/watch?v=SGkrqarj__0", "/downloads/How To Do Stuff/Season 2025/s2025e083000 - reMarkable, This 3.22 Update Has Me Worried….mp4", false, ~U[2025-08-30 15:00:47Z]] 04:05:32.282 [debug] QUERY OK source="sources" db=0.1ms idle=60.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:32.282 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:32.283 [debug] QUERY OK source="media_items" db=0.1ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4111235] 04:05:32.283 [debug] Current batch of media processed. Will check again in 1000ms 04:05:33.283 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this Mudita Kompakt review, I test this minimalist E-Ink phone to see if it can really help you use your phone less and live more offline. \nAfter a few weeks with the Mudita Kompakt, I’ve realised this E-Ink phone is designed for one thing: helping you step away from screens and live more offline.\nIn this review, I take you through what it’s like to actually use the Mudita Kompakt day-to-day. We’ll cover the build quality, minimalist design, E-Ink display, battery life, and the surprisingly useful features it manages to pack in...along with the things I think could be improved.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting MUDITA KOMPAKT?\n► Get 15% off Mudita products (enter at checkout): HOWTODOSTUFF15\n► MUDITA STORE: https://mudita.com/products/phones/mudita-kompakt/?utm_medium=infl&utm_campaign=howtodostuff\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#moreofflinemorelife #MuditaKompakt #EInkphone #dumbphone #wearemudita\n\n🎬 CHAPTERS\n00:00 Intro to Mudita Kompakt\n00:41 What is the Mudita Kompakt?\n02:36 Design & Build Quality\n03:47 Camera\n05:07 Display\n06:08 Performance & Interface\n07:16 Battery Life\n08:46 Features\n10:11 What I Don’t Like\n10:57 Reading Experience", "duration" => 742, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e081200 - Phone That Wants You to Use It Less?! - Mudita Kompakt Review.mp4", "id" => "9-6DzUFUO-E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9-6DzUFUO-E", "playlist_index" => 6, "timestamp" => 1755010816, "title" => "Phone That Wants You to Use It Less?! - Mudita Kompakt Review", "upload_date" => "20250812"} 04:05:33.284 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:33.284 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:33.284 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-12 15:00:16Z], 31] 04:05:33.285 [debug] QUERY OK source="media_items" db=0.8ms idle=67.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this Mudita Kompakt review, I test this minimalist E-Ink phone to see if it can really help you use your phone less and live more offline. \nAfter a few weeks with the Mudita Kompakt, I’ve realised this E-Ink phone is designed for one thing: helping you step away from screens and live more offline.\nIn this review, I take you through what it’s like to actually use the Mudita Kompakt day-to-day. We’ll cover the build quality, minimalist design, E-Ink display, battery life, and the surprisingly useful features it manages to pack in...along with the things I think could be improved.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting MUDITA KOMPAKT?\n► Get 15% off Mudita products (enter at checkout): HOWTODOSTUFF15\n► MUDITA STORE: https://mudita.com/products/phones/mudita-kompakt/?utm_medium=infl&utm_campaign=howtodostuff\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#moreofflinemorelife #MuditaKompakt #EInkphone #dumbphone #wearemudita\n\n🎬 CHAPTERS\n00:00 Intro to Mudita Kompakt\n00:41 What is the Mudita Kompakt?\n02:36 Design & Build Quality\n03:47 Camera\n05:07 Display\n06:08 Performance & Interface\n07:16 Battery Life\n08:46 Features\n10:11 What I Don’t Like\n10:57 Reading Experience", "Phone That Wants You to Use It Less?! - Mudita Kompakt Review", "70ad5d45-a192-4738-8b5e-18656b54fdcf", false, 31, [], 742, false, "9-6DzUFUO-E", "https://www.youtube.com/watch?v=9-6DzUFUO-E", 6, "/downloads/How To Do Stuff/Season 2025/s2025e081200 - Phone That Wants You to Use It Less?! - Mudita Kompakt Review.mp4", false, false, 98, ~U[2025-08-12 15:00:16Z], ~U[2026-08-05 02:05:33Z], ~U[2026-08-05 02:05:33Z], "In this Mudita Kompakt review, I test this minimalist E-Ink phone to see if it can really help you use your phone less and live more offline. \nAfter a few weeks with the Mudita Kompakt, I’ve realised this E-Ink phone is designed for one thing: helping you step away from screens and live more offline.\nIn this review, I take you through what it’s like to actually use the Mudita Kompakt day-to-day. We’ll cover the build quality, minimalist design, E-Ink display, battery life, and the surprisingly useful features it manages to pack in...along with the things I think could be improved.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting MUDITA KOMPAKT?\n► Get 15% off Mudita products (enter at checkout): HOWTODOSTUFF15\n► MUDITA STORE: https://mudita.com/products/phones/mudita-kompakt/?utm_medium=infl&utm_campaign=howtodostuff\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#moreofflinemorelife #MuditaKompakt #EInkphone #dumbphone #wearemudita\n\n🎬 CHAPTERS\n00:00 Intro to Mudita Kompakt\n00:41 What is the Mudita Kompakt?\n02:36 Design & Build Quality\n03:47 Camera\n05:07 Display\n06:08 Performance & Interface\n07:16 Battery Life\n08:46 Features\n10:11 What I Don’t Like\n10:57 Reading Experience", "Phone That Wants You to Use It Less?! - Mudita Kompakt Review", 31, 742, false, "9-6DzUFUO-E", "https://www.youtube.com/watch?v=9-6DzUFUO-E", "/downloads/How To Do Stuff/Season 2025/s2025e081200 - Phone That Wants You to Use It Less?! - Mudita Kompakt Review.mp4", false, ~U[2025-08-12 15:00:16Z]] 04:05:33.286 [debug] QUERY OK source="sources" db=0.1ms idle=62.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:33.286 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:33.286 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4059381] 04:05:33.286 [debug] Current batch of media processed. Will check again in 1000ms 04:05:34.287 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’ve spent the past week using the Boox Palma 2 as my main reading companion. I want to share my honest thoughts on the Palma 2. From the design and display, to Android app support, to the Palma 2 battery life, which has been pretty solid for me. I’ll also talk about how it compares to 7inch Boox Go Color 7 Gen 2, as well as Bigme Hibreak Pro, and whether this pocket‑sized form factor is worth it over a larger screen. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX PALMA 2?\n► AMAZON US 🇺🇸: https://amzn.to/3IV29w7\n► BOOX STORE US 🇺🇸: https://shop.boox.com/collections/all/products/palma2?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/476R30W\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/palma2?ref=fjeswspv&variant=51671609409899\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/rnm092nOjSM\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#boox #palma2 #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Boox Palma 2\n00:55 Quick Summary of the Palma 2\n04:07 Design & Build Quality\n05:32 Palma 2 Accessories\n05:48 Display & Reading Comfort\n06:40 Super Boox Refresh (SBR) Technology\n07:34 Reading Experience\n08:14 Reading PDFs\n09:51 Palma 2 vs Hibreak Pro\n11:07 Pricing & Value for Money\n11:26 Palma 2 vs Go Color 7 Gen 2\n12:06 Who the Palma 2 Is For", "duration" => 813, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e080100 - 1000+ Books in your pocket. Boox Palma 2 Review.mp4", "id" => "U45aYH5gwq8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U45aYH5gwq8", "playlist_index" => 7, "timestamp" => 1754060462, "title" => "1000+ Books in your pocket. Boox Palma 2 Review", "upload_date" => "20250801"} 04:05:34.287 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:34.288 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:34.288 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 15:01:02Z], 31] 04:05:34.290 [debug] QUERY OK source="media_items" db=1.4ms idle=69.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve spent the past week using the Boox Palma 2 as my main reading companion. I want to share my honest thoughts on the Palma 2. From the design and display, to Android app support, to the Palma 2 battery life, which has been pretty solid for me. I’ll also talk about how it compares to 7inch Boox Go Color 7 Gen 2, as well as Bigme Hibreak Pro, and whether this pocket‑sized form factor is worth it over a larger screen. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX PALMA 2?\n► AMAZON US 🇺🇸: https://amzn.to/3IV29w7\n► BOOX STORE US 🇺🇸: https://shop.boox.com/collections/all/products/palma2?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/476R30W\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/palma2?ref=fjeswspv&variant=51671609409899\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/rnm092nOjSM\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#boox #palma2 #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Boox Palma 2\n00:55 Quick Summary of the Palma 2\n04:07 Design & Build Quality\n05:32 Palma 2 Accessories\n05:48 Display & Reading Comfort\n06:40 Super Boox Refresh (SBR) Technology\n07:34 Reading Experience\n08:14 Reading PDFs\n09:51 Palma 2 vs Hibreak Pro\n11:07 Pricing & Value for Money\n11:26 Palma 2 vs Go Color 7 Gen 2\n12:06 Who the Palma 2 Is For", "1000+ Books in your pocket. Boox Palma 2 Review", "2309a557-4085-4e71-a229-c9e9d936fb86", false, 31, [], 813, false, "U45aYH5gwq8", "https://www.youtube.com/watch?v=U45aYH5gwq8", 7, "/downloads/How To Do Stuff/Season 2025/s2025e080100 - 1000+ Books in your pocket. Boox Palma 2 Review.mp4", false, false, 98, ~U[2025-08-01 15:01:02Z], ~U[2026-08-05 02:05:34Z], ~U[2026-08-05 02:05:34Z], "I’ve spent the past week using the Boox Palma 2 as my main reading companion. I want to share my honest thoughts on the Palma 2. From the design and display, to Android app support, to the Palma 2 battery life, which has been pretty solid for me. I’ll also talk about how it compares to 7inch Boox Go Color 7 Gen 2, as well as Bigme Hibreak Pro, and whether this pocket‑sized form factor is worth it over a larger screen. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX PALMA 2?\n► AMAZON US 🇺🇸: https://amzn.to/3IV29w7\n► BOOX STORE US 🇺🇸: https://shop.boox.com/collections/all/products/palma2?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/476R30W\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/palma2?ref=fjeswspv&variant=51671609409899\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/rnm092nOjSM\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#boox #palma2 #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Boox Palma 2\n00:55 Quick Summary of the Palma 2\n04:07 Design & Build Quality\n05:32 Palma 2 Accessories\n05:48 Display & Reading Comfort\n06:40 Super Boox Refresh (SBR) Technology\n07:34 Reading Experience\n08:14 Reading PDFs\n09:51 Palma 2 vs Hibreak Pro\n11:07 Pricing & Value for Money\n11:26 Palma 2 vs Go Color 7 Gen 2\n12:06 Who the Palma 2 Is For", "1000+ Books in your pocket. Boox Palma 2 Review", 31, 813, false, "U45aYH5gwq8", "https://www.youtube.com/watch?v=U45aYH5gwq8", "/downloads/How To Do Stuff/Season 2025/s2025e080100 - 1000+ Books in your pocket. Boox Palma 2 Review.mp4", false, ~U[2025-08-01 15:01:02Z]] 04:05:34.290 [debug] QUERY OK source="sources" db=0.2ms idle=65.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:34.291 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:34.291 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4029318] 04:05:34.291 [debug] Current batch of media processed. Will check again in 1000ms 04:05:35.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’ve spent some proper time with the Viwoods Ai Paper and in this video I’m sharing my honest thoughts. This isn’t just another thin and sleek e-ink tablet. The Viwoods Ai Paper surprised me with how powerful and refined it actually is. \nI go over the design, build quality, how it handles note-taking, pricing, performance, whether the AI features actually do anything useful, and how it compares to other eink tablets out there.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting Viwoods Ai Paper? \n► AMAZON US 🇺🇸: https://amzn.to/3Ihw55O\n► VIWOODS STORE US 🇺🇸: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/44Dbn8D\n► VIWOODS STORE EU 🇪🇺: https://viwoods-eu.com/products/viwoods-aipaper?ref=HTDS\n\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other Viwoods videos:\n► https://youtu.be/7nAaza_SCdk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #einktablet #techreview \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods Ai Paper Review\n00:43 Quick Summary\n03:30 Tech Specs\n04:19 Android 13 & Play Store\n05:11 Design and Build Quality\n07:09 Protective Case\n07:32 Stylus and 2 Types of Pen Tips\n08:45 Display\n09:05 Carta 1300 Mobius Flexible Screen\n09:55 Is Lack of Front Light an Issue?\n10:44 Writing Experience\n11:08 Battery Life\n11:49 Battery Test when Reading\n12:15 Battery Test when Writing\n12:48 Interface & Performance\n13:18 Home Screen Explained\n13:55 Viwoods Ai Paper vs Boox Note Max\n14:57 Features I Liked\n15:03 Picking Section Explained\n15:44 Calendar Section Explained\n16:21 Demo: Creating Calendar Events with Voice\n17:40 Different Ways to Import Files\n18:12 Pricing\n18:58 Viwoods Ai Paper vs Boox Go 10.3\n19:14 Viwoods Ai Paper vs Supernote Manta\n19:54 Who Viwoods AiPaper is For?", "duration" => 1282, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e071900 - Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!.mp4", "id" => "dTgDSZvpflM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dTgDSZvpflM", "playlist_index" => 8, "timestamp" => 1752939019, "title" => "Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!", "upload_date" => "20250719"} 04:05:35.293 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:35.293 [debug] QUERY OK source="sources" db=0.0ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:35.293 [debug] QUERY OK source="media_items" db=0.4ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 15:30:19Z], 31] 04:05:35.295 [debug] QUERY OK source="media_items" db=0.9ms idle=73.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve spent some proper time with the Viwoods Ai Paper and in this video I’m sharing my honest thoughts. This isn’t just another thin and sleek e-ink tablet. The Viwoods Ai Paper surprised me with how powerful and refined it actually is. \nI go over the design, build quality, how it handles note-taking, pricing, performance, whether the AI features actually do anything useful, and how it compares to other eink tablets out there.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting Viwoods Ai Paper? \n► AMAZON US 🇺🇸: https://amzn.to/3Ihw55O\n► VIWOODS STORE US 🇺🇸: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/44Dbn8D\n► VIWOODS STORE EU 🇪🇺: https://viwoods-eu.com/products/viwoods-aipaper?ref=HTDS\n\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other Viwoods videos:\n► https://youtu.be/7nAaza_SCdk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #einktablet #techreview \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods Ai Paper Review\n00:43 Quick Summary\n03:30 Tech Specs\n04:19 Android 13 & Play Store\n05:11 Design and Build Quality\n07:09 Protective Case\n07:32 Stylus and 2 Types of Pen Tips\n08:45 Display\n09:05 Carta 1300 Mobius Flexible Screen\n09:55 Is Lack of Front Light an Issue?\n10:44 Writing Experience\n11:08 Battery Life\n11:49 Battery Test when Reading\n12:15 Battery Test when Writing\n12:48 Interface & Performance\n13:18 Home Screen Explained\n13:55 Viwoods Ai Paper vs Boox Note Max\n14:57 Features I Liked\n15:03 Picking Section Explained\n15:44 Calendar Section Explained\n16:21 Demo: Creating Calendar Events with Voice\n17:40 Different Ways to Import Files\n18:12 Pricing\n18:58 Viwoods Ai Paper vs Boox Go 10.3\n19:14 Viwoods Ai Paper vs Supernote Manta\n19:54 Who Viwoods AiPaper is For?", "Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!", "4c8e0e2f-24d4-4e8c-86e5-abee626d1ef6", false, 31, [], 1282, false, "dTgDSZvpflM", "https://www.youtube.com/watch?v=dTgDSZvpflM", 8, "/downloads/How To Do Stuff/Season 2025/s2025e071900 - Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!.mp4", false, false, 98, ~U[2025-07-19 15:30:19Z], ~U[2026-08-05 02:05:35Z], ~U[2026-08-05 02:05:35Z], "I’ve spent some proper time with the Viwoods Ai Paper and in this video I’m sharing my honest thoughts. This isn’t just another thin and sleek e-ink tablet. The Viwoods Ai Paper surprised me with how powerful and refined it actually is. \nI go over the design, build quality, how it handles note-taking, pricing, performance, whether the AI features actually do anything useful, and how it compares to other eink tablets out there.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting Viwoods Ai Paper? \n► AMAZON US 🇺🇸: https://amzn.to/3Ihw55O\n► VIWOODS STORE US 🇺🇸: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/44Dbn8D\n► VIWOODS STORE EU 🇪🇺: https://viwoods-eu.com/products/viwoods-aipaper?ref=HTDS\n\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other Viwoods videos:\n► https://youtu.be/7nAaza_SCdk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #einktablet #techreview \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods Ai Paper Review\n00:43 Quick Summary\n03:30 Tech Specs\n04:19 Android 13 & Play Store\n05:11 Design and Build Quality\n07:09 Protective Case\n07:32 Stylus and 2 Types of Pen Tips\n08:45 Display\n09:05 Carta 1300 Mobius Flexible Screen\n09:55 Is Lack of Front Light an Issue?\n10:44 Writing Experience\n11:08 Battery Life\n11:49 Battery Test when Reading\n12:15 Battery Test when Writing\n12:48 Interface & Performance\n13:18 Home Screen Explained\n13:55 Viwoods Ai Paper vs Boox Note Max\n14:57 Features I Liked\n15:03 Picking Section Explained\n15:44 Calendar Section Explained\n16:21 Demo: Creating Calendar Events with Voice\n17:40 Different Ways to Import Files\n18:12 Pricing\n18:58 Viwoods Ai Paper vs Boox Go 10.3\n19:14 Viwoods Ai Paper vs Supernote Manta\n19:54 Who Viwoods AiPaper is For?", "Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!", 31, 1282, false, "dTgDSZvpflM", "https://www.youtube.com/watch?v=dTgDSZvpflM", "/downloads/How To Do Stuff/Season 2025/s2025e071900 - Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!.mp4", false, ~U[2025-07-19 15:30:19Z]] 04:05:35.295 [debug] QUERY OK source="sources" db=0.2ms idle=69.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:35.295 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:35.296 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3995625] 04:05:35.296 [debug] Current batch of media processed. Will check again in 1000ms 04:05:36.227 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785895536226954237,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:36.227 [debug] QUERY OK source="media_items" db=0.1ms idle=931.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3646417] 04:05:36.227 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:05:36.227 [debug] QUERY OK source="sources" db=0.0ms idle=931.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 04:05:36.227 [debug] QUERY OK source="media_profiles" db=0.1ms idle=931.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:36.228 [debug] QUERY OK source="media_items" db=0.1ms idle=6.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 04:05:36.237 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 04:05:36.237 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:36.238 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:36.238 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:36.238 [debug] Running yt-dlp command for action: get_downloadable_status 04:05:36.238 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:36.239 [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 [] 04:05:36.239 [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 [] 04:05:36.239 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/8f/978fabde620efd9e86d9b3fb66249f88ebae9eacb0bdd4dedb16d679f5b9e08e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:36.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’m breaking down three huge problems happening right now on Amazon that hardly anyone is talking about…but that could seriously affect the future of publishing: AI-generated junk flooding the Kindle store, scammers hijacking copyright tools to wipe out real books, and royalty cuts hitting indie authors’ pockets hard. #amazonkdp #amazonnews #aibots \n\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► ‘Dangerous nonsense’: AI-authored books about ADHD for sale on Amazon: https://www.theguardian.com/technology/2025/may/04/dangerous-nonsense-ai-authored-books-about-adhd-for-sale-on-amazon?utm_source=chatgpt.com\n► Independent Publishing and DMCA Abuse, or “How a Scammer Got My Book Blocked with Very Little Effort”: https://the-active-voice.com/2015/03/01/nolander-blocked-at-amazon-and-smashwords/?utm_source=chatgpt.com\n► Print Royalty Rate and Paperback Printing Cost Changes: https://kdp.amazon.com/en_US/help/topic/GXFPA52P6ZJD2U3N?utm_source=chatgpt.com\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🎬 CHAPTERS\n00:00 Intro to Amazon Problems\n00:35 The AI Book Invasion\n01:23 How AI Hurts Real Authors\n03:17 Con-Artists Hijacking Trademarks\n05:03 Print Book Royalty Cuts\n05:42 The Big Question: Is Amazon Still Supporting Authors?", "duration" => 413, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e070800 - Amazon’s Hidden Problems No One Is Talking About.mp4", "id" => "TiJCiiv89es", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TiJCiiv89es", "playlist_index" => 9, "timestamp" => 1751992222, "title" => "Amazon’s Hidden Problems No One Is Talking About", "upload_date" => "20250708"} 04:05:36.296 [debug] QUERY OK source="sources" db=0.1ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:36.297 [debug] QUERY OK source="sources" db=0.1ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:36.297 [debug] QUERY OK source="media_items" db=0.5ms idle=58.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 16:30:22Z], 31] 04:05:36.299 [debug] QUERY OK source="media_items" db=1.0ms idle=58.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m breaking down three huge problems happening right now on Amazon that hardly anyone is talking about…but that could seriously affect the future of publishing: AI-generated junk flooding the Kindle store, scammers hijacking copyright tools to wipe out real books, and royalty cuts hitting indie authors’ pockets hard. #amazonkdp #amazonnews #aibots \n\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► ‘Dangerous nonsense’: AI-authored books about ADHD for sale on Amazon: https://www.theguardian.com/technology/2025/may/04/dangerous-nonsense-ai-authored-books-about-adhd-for-sale-on-amazon?utm_source=chatgpt.com\n► Independent Publishing and DMCA Abuse, or “How a Scammer Got My Book Blocked with Very Little Effort”: https://the-active-voice.com/2015/03/01/nolander-blocked-at-amazon-and-smashwords/?utm_source=chatgpt.com\n► Print Royalty Rate and Paperback Printing Cost Changes: https://kdp.amazon.com/en_US/help/topic/GXFPA52P6ZJD2U3N?utm_source=chatgpt.com\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🎬 CHAPTERS\n00:00 Intro to Amazon Problems\n00:35 The AI Book Invasion\n01:23 How AI Hurts Real Authors\n03:17 Con-Artists Hijacking Trademarks\n05:03 Print Book Royalty Cuts\n05:42 The Big Question: Is Amazon Still Supporting Authors?", "Amazon’s Hidden Problems No One Is Talking About", "3617afd8-86ad-4501-a3b2-e02c968cc520", false, 31, [], 413, false, "TiJCiiv89es", "https://www.youtube.com/watch?v=TiJCiiv89es", 9, "/downloads/How To Do Stuff/Season 2025/s2025e070800 - Amazon’s Hidden Problems No One Is Talking About.mp4", false, false, 98, ~U[2025-07-08 16:30:22Z], ~U[2026-08-05 02:05:36Z], ~U[2026-08-05 02:05:36Z], "I’m breaking down three huge problems happening right now on Amazon that hardly anyone is talking about…but that could seriously affect the future of publishing: AI-generated junk flooding the Kindle store, scammers hijacking copyright tools to wipe out real books, and royalty cuts hitting indie authors’ pockets hard. #amazonkdp #amazonnews #aibots \n\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► ‘Dangerous nonsense’: AI-authored books about ADHD for sale on Amazon: https://www.theguardian.com/technology/2025/may/04/dangerous-nonsense-ai-authored-books-about-adhd-for-sale-on-amazon?utm_source=chatgpt.com\n► Independent Publishing and DMCA Abuse, or “How a Scammer Got My Book Blocked with Very Little Effort”: https://the-active-voice.com/2015/03/01/nolander-blocked-at-amazon-and-smashwords/?utm_source=chatgpt.com\n► Print Royalty Rate and Paperback Printing Cost Changes: https://kdp.amazon.com/en_US/help/topic/GXFPA52P6ZJD2U3N?utm_source=chatgpt.com\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🎬 CHAPTERS\n00:00 Intro to Amazon Problems\n00:35 The AI Book Invasion\n01:23 How AI Hurts Real Authors\n03:17 Con-Artists Hijacking Trademarks\n05:03 Print Book Royalty Cuts\n05:42 The Big Question: Is Amazon Still Supporting Authors?", "Amazon’s Hidden Problems No One Is Talking About", 31, 413, false, "TiJCiiv89es", "https://www.youtube.com/watch?v=TiJCiiv89es", "/downloads/How To Do Stuff/Season 2025/s2025e070800 - Amazon’s Hidden Problems No One Is Talking About.mp4", false, ~U[2025-07-08 16:30:22Z]] 04:05:36.299 [debug] QUERY OK source="sources" db=0.1ms idle=60.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:36.299 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:36.300 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3929992] 04:05:36.300 [debug] Current batch of media processed. Will check again in 1000ms 04:05:37.229 [info] {"args":{"id":4559063},"id":127212,"meta":{},"system_time":1785895537229002466,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:37.229 [debug] QUERY OK source="media_items" db=0.2ms idle=929.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4559063] 04:05:37.229 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:05:37.229 [debug] QUERY OK source="sources" db=0.1ms idle=929.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:05:37.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=929.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:37.230 [debug] QUERY OK source="media_items" db=0.2ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4559063] 04:05:37.230 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4559063] 04:05:37.231 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:37.231 [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 [] 04:05:37.231 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:37.231 [debug] Running yt-dlp command for action: get_downloadable_status 04:05:37.232 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:37.232 [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 [] 04:05:37.232 [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 [] 04:05:37.232 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nFclE9wParo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/e0/95e087c5c8fe02d6b97cb0ceff65d19f10f2fc30e1e08e306064ebf2d1d5112e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:37.300 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is my honest Boox Go Color 7 Gen 2 review, where I’ll walk you through everything from the design and build quality to real-world battery stats, reading experience, and how it compares to other color devices like the Kobo Libra Colour and Kindle Colorsoft.\nIf you’re trying to figure out whether the Go Color 7 Gen 2 is right for you, whether you really need a color screen, or whether it’s worth upgrading from a basic e-reader, this video should help you make that decision. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX Go Color 7 Gen II?\n► AMAZON US 🇺🇸: https://amzn.to/40oORxA\n► BOOX STORE US 🇺🇸: https://shop.boox.com/products/go7?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/40ndjzq\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/boox-go-color-7-gen-ii?ref=fjeswspv&variant=52007292633451\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/1z9x-TOw2qA\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#boox #einktablet #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Go Color 7 Gen 2 Review\n00:39 Bottom Line Summary\n01:46 Do You Need a Color Screen?\n02:39 Pricing & Value Comparison\n03:47 Go Color 7 vs Kobo Libra Color\n03:56 Go Color 7 vs Kindle Colorsoft\n04:37 Color vs Monochrome Display\n05:20 Design & Build Quality\n07:12 Tech Specs Overview\n08:52 Battery Life & My Test Results\n09:48 Battery Test Results for Reading\n10:47 Reading Experience\n11:16 Page-Turn Buttons & Third-Party Apps\n12:08 Ghosting\n12:36 Writing Experience & Stylus Support\n13:51 Who Is Go Color 7 Gen 2 For?\n14:43 Who Should Avoid This Device?", "duration" => 964, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e062600 - Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?.mp4", "id" => "rnm092nOjSM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rnm092nOjSM", "playlist_index" => 10, "timestamp" => 1750953692, "title" => "Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?", "upload_date" => "20250626"} 04:05:37.300 [debug] QUERY OK source="sources" db=0.1ms idle=69.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:37.301 [debug] QUERY OK source="sources" db=0.1ms idle=69.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:37.301 [debug] QUERY OK source="media_items" db=0.5ms idle=69.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 16:01:32Z], 31] 04:05:37.303 [debug] QUERY OK source="media_items" db=1.2ms idle=69.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is my honest Boox Go Color 7 Gen 2 review, where I’ll walk you through everything from the design and build quality to real-world battery stats, reading experience, and how it compares to other color devices like the Kobo Libra Colour and Kindle Colorsoft.\nIf you’re trying to figure out whether the Go Color 7 Gen 2 is right for you, whether you really need a color screen, or whether it’s worth upgrading from a basic e-reader, this video should help you make that decision. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX Go Color 7 Gen II?\n► AMAZON US 🇺🇸: https://amzn.to/40oORxA\n► BOOX STORE US 🇺🇸: https://shop.boox.com/products/go7?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/40ndjzq\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/boox-go-color-7-gen-ii?ref=fjeswspv&variant=52007292633451\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/1z9x-TOw2qA\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#boox #einktablet #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Go Color 7 Gen 2 Review\n00:39 Bottom Line Summary\n01:46 Do You Need a Color Screen?\n02:39 Pricing & Value Comparison\n03:47 Go Color 7 vs Kobo Libra Color\n03:56 Go Color 7 vs Kindle Colorsoft\n04:37 Color vs Monochrome Display\n05:20 Design & Build Quality\n07:12 Tech Specs Overview\n08:52 Battery Life & My Test Results\n09:48 Battery Test Results for Reading\n10:47 Reading Experience\n11:16 Page-Turn Buttons & Third-Party Apps\n12:08 Ghosting\n12:36 Writing Experience & Stylus Support\n13:51 Who Is Go Color 7 Gen 2 For?\n14:43 Who Should Avoid This Device?", "Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?", "75949b9e-6d4b-4664-9c1d-730f28a3ee95", false, 31, [], 964, false, "rnm092nOjSM", "https://www.youtube.com/watch?v=rnm092nOjSM", 10, "/downloads/How To Do Stuff/Season 2025/s2025e062600 - Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?.mp4", false, false, 98, ~U[2025-06-26 16:01:32Z], ~U[2026-08-05 02:05:37Z], ~U[2026-08-05 02:05:37Z], "This is my honest Boox Go Color 7 Gen 2 review, where I’ll walk you through everything from the design and build quality to real-world battery stats, reading experience, and how it compares to other color devices like the Kobo Libra Colour and Kindle Colorsoft.\nIf you’re trying to figure out whether the Go Color 7 Gen 2 is right for you, whether you really need a color screen, or whether it’s worth upgrading from a basic e-reader, this video should help you make that decision. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX Go Color 7 Gen II?\n► AMAZON US 🇺🇸: https://amzn.to/40oORxA\n► BOOX STORE US 🇺🇸: https://shop.boox.com/products/go7?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/40ndjzq\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/boox-go-color-7-gen-ii?ref=fjeswspv&variant=52007292633451\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/1z9x-TOw2qA\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#boox #einktablet #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Go Color 7 Gen 2 Review\n00:39 Bottom Line Summary\n01:46 Do You Need a Color Screen?\n02:39 Pricing & Value Comparison\n03:47 Go Color 7 vs Kobo Libra Color\n03:56 Go Color 7 vs Kindle Colorsoft\n04:37 Color vs Monochrome Display\n05:20 Design & Build Quality\n07:12 Tech Specs Overview\n08:52 Battery Life & My Test Results\n09:48 Battery Test Results for Reading\n10:47 Reading Experience\n11:16 Page-Turn Buttons & Third-Party Apps\n12:08 Ghosting\n12:36 Writing Experience & Stylus Support\n13:51 Who Is Go Color 7 Gen 2 For?\n14:43 Who Should Avoid This Device?", "Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?", 31, 964, false, "rnm092nOjSM", "https://www.youtube.com/watch?v=rnm092nOjSM", "/downloads/How To Do Stuff/Season 2025/s2025e062600 - Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?.mp4", false, ~U[2025-06-26 16:01:32Z]] 04:05:37.303 [debug] QUERY OK source="sources" db=0.1ms idle=71.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:37.303 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:37.304 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3856282] 04:05:37.304 [debug] Current batch of media processed. Will check again in 1000ms 04:05:37.852 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/8f/978fabde620efd9e86d9b3fb66249f88ebae9eacb0bdd4dedb16d679f5b9e08e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:05:37.852 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:05:37.853 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1625905,"event":"job:exception","queue_time":830624,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:38.305 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is my honest Viwoods Ai Paper Mini review after spending couple of weeks with it. If you’ve been looking for a compact, no-fuss e ink tablet that still manages to deliver solid performance, this might be worth a look.\nHonestly, Viwoods Ai Paper Mini is one of those compact devices that surprised me. Everything about it is solid: from build quality and design to software and writing/reading experience. Once you start using it, you realize how thoughtful some of the features are, especially if you’re into note-taking, PDFs, or using AI tools to stay productive.\n\n🛒 Thinking of getting Viwoods Ai Paper Mini?\n► AMAZON US 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n► AMAZON UK 🇬🇧: https://amzn.to/4jPkXJU\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #einktablet \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods AiPaper Mini First Look\n00:46 Quick Summary\n02:19 Pricing & 100-Day Trial\n02:56 Viwoods Ai Paper Mini vs. iFLYTEK AiNote Air 2\n03:59 Unboxing\n04:51 Stylus\n05:17 Design & Build Quality\n06:22 Battery Life\n06:46 Battery Test when Reading\n07:15 Battery Test when Writing\n07:41 Display & Refresh Modes\n09:03 Interface & Features\n10:51 Writing Experience\n11:51 AI Tools & Integration\n12:55 Who is Ai Paper Mini for?", "duration" => 966, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e061200 - Compact. Clever. Capable. - Viwoods Ai Paper Mini Review.mp4", "id" => "7nAaza_SCdk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7nAaza_SCdk", "playlist_index" => 11, "timestamp" => 1749744011, "title" => "Compact. Clever. Capable. - Viwoods Ai Paper Mini Review", "upload_date" => "20250612"} 04:05:38.305 [debug] QUERY OK source="sources" db=0.2ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:38.306 [debug] QUERY OK source="sources" db=0.0ms idle=452.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:38.306 [debug] QUERY OK source="media_items" db=0.4ms idle=446.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 16:00:11Z], 31] 04:05:38.317 [debug] QUERY OK source="media_items" db=10.0ms idle=82.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is my honest Viwoods Ai Paper Mini review after spending couple of weeks with it. If you’ve been looking for a compact, no-fuss e ink tablet that still manages to deliver solid performance, this might be worth a look.\nHonestly, Viwoods Ai Paper Mini is one of those compact devices that surprised me. Everything about it is solid: from build quality and design to software and writing/reading experience. Once you start using it, you realize how thoughtful some of the features are, especially if you’re into note-taking, PDFs, or using AI tools to stay productive.\n\n🛒 Thinking of getting Viwoods Ai Paper Mini?\n► AMAZON US 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n► AMAZON UK 🇬🇧: https://amzn.to/4jPkXJU\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #einktablet \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods AiPaper Mini First Look\n00:46 Quick Summary\n02:19 Pricing & 100-Day Trial\n02:56 Viwoods Ai Paper Mini vs. iFLYTEK AiNote Air 2\n03:59 Unboxing\n04:51 Stylus\n05:17 Design & Build Quality\n06:22 Battery Life\n06:46 Battery Test when Reading\n07:15 Battery Test when Writing\n07:41 Display & Refresh Modes\n09:03 Interface & Features\n10:51 Writing Experience\n11:51 AI Tools & Integration\n12:55 Who is Ai Paper Mini for?", "Compact. Clever. Capable. - Viwoods Ai Paper Mini Review", "371684e4-2b79-4474-ae52-0fc83f6e9605", false, 31, [], 966, false, "7nAaza_SCdk", "https://www.youtube.com/watch?v=7nAaza_SCdk", 11, "/downloads/How To Do Stuff/Season 2025/s2025e061200 - Compact. Clever. Capable. - Viwoods Ai Paper Mini Review.mp4", false, false, 98, ~U[2025-06-12 16:00:11Z], ~U[2026-08-05 02:05:38Z], ~U[2026-08-05 02:05:38Z], "This is my honest Viwoods Ai Paper Mini review after spending couple of weeks with it. If you’ve been looking for a compact, no-fuss e ink tablet that still manages to deliver solid performance, this might be worth a look.\nHonestly, Viwoods Ai Paper Mini is one of those compact devices that surprised me. Everything about it is solid: from build quality and design to software and writing/reading experience. Once you start using it, you realize how thoughtful some of the features are, especially if you’re into note-taking, PDFs, or using AI tools to stay productive.\n\n🛒 Thinking of getting Viwoods Ai Paper Mini?\n► AMAZON US 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n► AMAZON UK 🇬🇧: https://amzn.to/4jPkXJU\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #einktablet \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods AiPaper Mini First Look\n00:46 Quick Summary\n02:19 Pricing & 100-Day Trial\n02:56 Viwoods Ai Paper Mini vs. iFLYTEK AiNote Air 2\n03:59 Unboxing\n04:51 Stylus\n05:17 Design & Build Quality\n06:22 Battery Life\n06:46 Battery Test when Reading\n07:15 Battery Test when Writing\n07:41 Display & Refresh Modes\n09:03 Interface & Features\n10:51 Writing Experience\n11:51 AI Tools & Integration\n12:55 Who is Ai Paper Mini for?", "Compact. Clever. Capable. - Viwoods Ai Paper Mini Review", 31, 966, false, "7nAaza_SCdk", "https://www.youtube.com/watch?v=7nAaza_SCdk", "/downloads/How To Do Stuff/Season 2025/s2025e061200 - Compact. Clever. Capable. - Viwoods Ai Paper Mini Review.mp4", false, ~U[2025-06-12 16:00:11Z]] 04:05:38.317 [debug] QUERY OK source="sources" db=0.1ms idle=87.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:38.317 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:38.318 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3787505] 04:05:38.318 [debug] Current batch of media processed. Will check again in 1000ms 04:05:39.304 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nFclE9wParo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/e0/95e087c5c8fe02d6b97cb0ceff65d19f10f2fc30e1e08e306064ebf2d1d5112e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] nFclE9wParo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] nFclE9wParo: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:05:39.304 [error] yt-dlp download error for media item #4559063: "WARNING: [youtube] nFclE9wParo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] nFclE9wParo: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:05:39.314 [debug] QUERY OK source="media_items" db=10.0ms idle=987.1ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] nFclE9wParo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] nFclE9wParo: Join this channel from your computer or mobile app to get access to members-only content like this video.\n", ~U[2026-08-05 02:05:39Z], 4559063] 04:05:39.315 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4559063},"id":127212,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2085777,"event":"job:exception","queue_time":35203,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:39.318 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’m sharing my honest bigme hibreak pro review after taking this e ink phone on a wild bike-packing adventure through Italy. If you’re searching for a minimal phone that outlasts traditional smartphones or wondering whether a dumb phone could still handle essential tasks like GPS navigation and calls, this video is for you. I’ll break down battery stats (which are pretty amazing!), reveal hidden quirks, and show you why this device might be the ultimate adventure companion.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n⚡️Other Bigme videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro review\n01:05 Quick Summary\n01:39 Pricing & Comparison to LCD Smartphones\n02:19 Battery Life Tests\n02:30 Battery Life during GPS Navigation\n03:05 Using Komoot App on Eink screen\n03:30 Battery Life in Standby Mode\n04:20 Reading Battery Tests\n05:35 Build Quality & Design\n06:01 3 Issues with Design\n06:43 Q: Are you missing not having color?\n07:14 Q: Does it connect to Garmin watch?\n07:39 Q: Is there a light bleed from the edges?\n08:08 Q: This is not a minimalist phone!\n09:04 Third-party Apps & Features\n09:51 Android 14 and Bigme Launcher\n10:08 Perfect E-Reading phone?", "duration" => 703, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e052700 - There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review).mp4", "id" => "Hb2J-BhY2no", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hb2J-BhY2no", "playlist_index" => 12, "timestamp" => 1748359808, "title" => "There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review)", "upload_date" => "20250527"} 04:05:39.318 [debug] QUERY OK source="sources" db=0.1ms idle=1000.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:39.319 [debug] QUERY OK source="sources" db=0.1ms idle=93.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:39.319 [debug] QUERY OK source="media_items" db=0.4ms idle=88.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 15:30:08Z], 31] 04:05:39.335 [debug] QUERY OK source="media_items" db=15.7ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m sharing my honest bigme hibreak pro review after taking this e ink phone on a wild bike-packing adventure through Italy. If you’re searching for a minimal phone that outlasts traditional smartphones or wondering whether a dumb phone could still handle essential tasks like GPS navigation and calls, this video is for you. I’ll break down battery stats (which are pretty amazing!), reveal hidden quirks, and show you why this device might be the ultimate adventure companion.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n⚡️Other Bigme videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro review\n01:05 Quick Summary\n01:39 Pricing & Comparison to LCD Smartphones\n02:19 Battery Life Tests\n02:30 Battery Life during GPS Navigation\n03:05 Using Komoot App on Eink screen\n03:30 Battery Life in Standby Mode\n04:20 Reading Battery Tests\n05:35 Build Quality & Design\n06:01 3 Issues with Design\n06:43 Q: Are you missing not having color?\n07:14 Q: Does it connect to Garmin watch?\n07:39 Q: Is there a light bleed from the edges?\n08:08 Q: This is not a minimalist phone!\n09:04 Third-party Apps & Features\n09:51 Android 14 and Bigme Launcher\n10:08 Perfect E-Reading phone?", "There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review)", "3fc935e0-cb98-470e-bc90-3c314a85a59b", false, 31, [], 703, false, "Hb2J-BhY2no", "https://www.youtube.com/watch?v=Hb2J-BhY2no", 12, "/downloads/How To Do Stuff/Season 2025/s2025e052700 - There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review).mp4", false, false, 98, ~U[2025-05-27 15:30:08Z], ~U[2026-08-05 02:05:39Z], ~U[2026-08-05 02:05:39Z], "I’m sharing my honest bigme hibreak pro review after taking this e ink phone on a wild bike-packing adventure through Italy. If you’re searching for a minimal phone that outlasts traditional smartphones or wondering whether a dumb phone could still handle essential tasks like GPS navigation and calls, this video is for you. I’ll break down battery stats (which are pretty amazing!), reveal hidden quirks, and show you why this device might be the ultimate adventure companion.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n⚡️Other Bigme videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro review\n01:05 Quick Summary\n01:39 Pricing & Comparison to LCD Smartphones\n02:19 Battery Life Tests\n02:30 Battery Life during GPS Navigation\n03:05 Using Komoot App on Eink screen\n03:30 Battery Life in Standby Mode\n04:20 Reading Battery Tests\n05:35 Build Quality & Design\n06:01 3 Issues with Design\n06:43 Q: Are you missing not having color?\n07:14 Q: Does it connect to Garmin watch?\n07:39 Q: Is there a light bleed from the edges?\n08:08 Q: This is not a minimalist phone!\n09:04 Third-party Apps & Features\n09:51 Android 14 and Bigme Launcher\n10:08 Perfect E-Reading phone?", "There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review)", 31, 703, false, "Hb2J-BhY2no", "https://www.youtube.com/watch?v=Hb2J-BhY2no", "/downloads/How To Do Stuff/Season 2025/s2025e052700 - There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review).mp4", false, ~U[2025-05-27 15:30:08Z]] 04:05:39.336 [debug] QUERY OK source="sources" db=0.1ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:39.336 [debug] QUERY OK source="media_profiles" db=0.1ms idle=17.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:39.336 [debug] QUERY OK source="media_items" db=0.2ms idle=16.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3704875] 04:05:39.336 [debug] Current batch of media processed. Will check again in 1000ms 04:05:40.337 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’m sharing my first impressions of the Bigme HiBreak Pro; the latest e-ink smartphone from Bigme and a follow-up to the previous HiBreak, which I’ve also reviewed here on the channel. I’ve only had it for a couple of days, but I wanted to sit down and give you a quick look at what stood out to me so far. \nI’ll be testing it even more while on bikepacking trip (yep, 450 miles or 600+ kilometers!) and using it in all sorts of real-world conditions - GPS, navigation, and day-to-day tasks. So if there’s anything you’d like me to check or test while I’m on the road, let me know in the comments and I’ll do my best to include it in the full review. #eink #phonereview \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital wallpaper store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BIGME videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro\n00:51 Disclaimer\n01:29 Performance, Buttons & Fingerprint Reader\n02:18 Camera, Apps & Navigation Tests\n03:33 Speakers & Connectivity\n04:54 Display, Build Quality & New Features\n06:20 Can It Be a Daily Driver?", "duration" => 437, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e051000 - Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!.mp4", "id" => "BAOC0bmEPZ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BAOC0bmEPZ0", "playlist_index" => 13, "timestamp" => 1746892827, "title" => "Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!", "upload_date" => "20250510"} 04:05:40.337 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:40.338 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:40.338 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-10 16:00:27Z], 31] 04:05:40.348 [debug] QUERY OK source="media_items" db=9.4ms idle=112.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m sharing my first impressions of the Bigme HiBreak Pro; the latest e-ink smartphone from Bigme and a follow-up to the previous HiBreak, which I’ve also reviewed here on the channel. I’ve only had it for a couple of days, but I wanted to sit down and give you a quick look at what stood out to me so far. \nI’ll be testing it even more while on bikepacking trip (yep, 450 miles or 600+ kilometers!) and using it in all sorts of real-world conditions - GPS, navigation, and day-to-day tasks. So if there’s anything you’d like me to check or test while I’m on the road, let me know in the comments and I’ll do my best to include it in the full review. #eink #phonereview \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital wallpaper store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BIGME videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro\n00:51 Disclaimer\n01:29 Performance, Buttons & Fingerprint Reader\n02:18 Camera, Apps & Navigation Tests\n03:33 Speakers & Connectivity\n04:54 Display, Build Quality & New Features\n06:20 Can It Be a Daily Driver?", "Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!", "900aa8dd-9c07-4e4b-9d29-a4e4d3b8f78d", false, 31, [], 437, false, "BAOC0bmEPZ0", "https://www.youtube.com/watch?v=BAOC0bmEPZ0", 13, "/downloads/How To Do Stuff/Season 2025/s2025e051000 - Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!.mp4", false, false, 98, ~U[2025-05-10 16:00:27Z], ~U[2026-08-05 02:05:40Z], ~U[2026-08-05 02:05:40Z], "I’m sharing my first impressions of the Bigme HiBreak Pro; the latest e-ink smartphone from Bigme and a follow-up to the previous HiBreak, which I’ve also reviewed here on the channel. I’ve only had it for a couple of days, but I wanted to sit down and give you a quick look at what stood out to me so far. \nI’ll be testing it even more while on bikepacking trip (yep, 450 miles or 600+ kilometers!) and using it in all sorts of real-world conditions - GPS, navigation, and day-to-day tasks. So if there’s anything you’d like me to check or test while I’m on the road, let me know in the comments and I’ll do my best to include it in the full review. #eink #phonereview \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital wallpaper store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BIGME videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro\n00:51 Disclaimer\n01:29 Performance, Buttons & Fingerprint Reader\n02:18 Camera, Apps & Navigation Tests\n03:33 Speakers & Connectivity\n04:54 Display, Build Quality & New Features\n06:20 Can It Be a Daily Driver?", "Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!", 31, 437, false, "BAOC0bmEPZ0", "https://www.youtube.com/watch?v=BAOC0bmEPZ0", "/downloads/How To Do Stuff/Season 2025/s2025e051000 - Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!.mp4", false, ~U[2025-05-10 16:00:27Z]] 04:05:40.348 [debug] QUERY OK source="sources" db=0.1ms idle=117.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:40.349 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:40.349 [debug] QUERY OK source="media_items" db=0.1ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3628999] 04:05:40.349 [debug] Current batch of media processed. Will check again in 1000ms 04:05:41.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you're someone who stares at glowing screens all day (like I used to), this might just help. I didn’t plan to fall in love with an e-ink tablet. I actually bought it out of curiosity, thinking it might just be a cool gadget for reading or note-taking. I’m sharing my honest experience of switching from an LCD tablet to an e-ink screen, and how it helps me with my eyesight. If you've ever wondered about e-ink vs regular screens, especially when it comes to eye strain or focus, this might give you a clearer idea of what to expect.\n\n🔗 LINKS\n► 6 FREE TEMPLATES: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Study \"Comparison of oxidative stress response of in vitro retinal cells exposed to blue light from emissive versus reflective displays\": https://sid.onlinelibrary.wiley.com/doi/epdf/10.1002/jsid.1191\n\n🛒 Thinking of getting XPPen Magic Notepad tablet mentioned in the video?\nXPPen Magic Note Pad DE:\u00A0https://bit.ly/3EbW10k\nXPPen Magic Note Pad US:\u00A0https://bit.ly/4i1MYx3\nXPPen Magic Note Pad UK:\u00A0https://bit.ly/4jfykDm\nGet a 10% discount using the coupon code\u00A0howtotechstuff10, valid until Jun 30th.\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️E-ink reviews:\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/pMJ_MXq_wlI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Why My Eyes Were Struggling\n01:10 The Problem With Regular Screens (LCD, OLED)\n01:38 Discovering E-Ink Devices\n02:49 E-Ink vs Regular Screen\n04:42 E-ink Trade-offs\n05:18 Battery life on LEDs vs E-ink\n07:52 Writing experience on E-ink vs LEDs\n08:51 Focus & Distraction-Free Experience\n09:32 What Changed for Me (And Might Help You Too)", "duration" => 677, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e050400 - Why THIS Screen Saved My Eyes (And Might Save Yours Too).mp4", "id" => "uPXRQQuwIwM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uPXRQQuwIwM", "playlist_index" => 14, "timestamp" => 1746370879, "title" => "Why THIS Screen Saved My Eyes (And Might Save Yours Too)", "upload_date" => "20250504"} 04:05:41.351 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:41.351 [debug] QUERY OK source="sources" db=0.0ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:41.352 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-04 15:01:19Z], 31] 04:05:41.363 [debug] QUERY OK source="media_items" db=10.8ms idle=125.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you're someone who stares at glowing screens all day (like I used to), this might just help. I didn’t plan to fall in love with an e-ink tablet. I actually bought it out of curiosity, thinking it might just be a cool gadget for reading or note-taking. I’m sharing my honest experience of switching from an LCD tablet to an e-ink screen, and how it helps me with my eyesight. If you've ever wondered about e-ink vs regular screens, especially when it comes to eye strain or focus, this might give you a clearer idea of what to expect.\n\n🔗 LINKS\n► 6 FREE TEMPLATES: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Study \"Comparison of oxidative stress response of in vitro retinal cells exposed to blue light from emissive versus reflective displays\": https://sid.onlinelibrary.wiley.com/doi/epdf/10.1002/jsid.1191\n\n🛒 Thinking of getting XPPen Magic Notepad tablet mentioned in the video?\nXPPen Magic Note Pad DE:\u00A0https://bit.ly/3EbW10k\nXPPen Magic Note Pad US:\u00A0https://bit.ly/4i1MYx3\nXPPen Magic Note Pad UK:\u00A0https://bit.ly/4jfykDm\nGet a 10% discount using the coupon code\u00A0howtotechstuff10, valid until Jun 30th.\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️E-ink reviews:\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/pMJ_MXq_wlI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Why My Eyes Were Struggling\n01:10 The Problem With Regular Screens (LCD, OLED)\n01:38 Discovering E-Ink Devices\n02:49 E-Ink vs Regular Screen\n04:42 E-ink Trade-offs\n05:18 Battery life on LEDs vs E-ink\n07:52 Writing experience on E-ink vs LEDs\n08:51 Focus & Distraction-Free Experience\n09:32 What Changed for Me (And Might Help You Too)", "Why THIS Screen Saved My Eyes (And Might Save Yours Too)", "ce80a8c8-00d0-451c-a522-902f6aea819a", false, 31, [], 677, false, "uPXRQQuwIwM", "https://www.youtube.com/watch?v=uPXRQQuwIwM", 14, "/downloads/How To Do Stuff/Season 2025/s2025e050400 - Why THIS Screen Saved My Eyes (And Might Save Yours Too).mp4", false, false, 98, ~U[2025-05-04 15:01:19Z], ~U[2026-08-05 02:05:41Z], ~U[2026-08-05 02:05:41Z], "If you're someone who stares at glowing screens all day (like I used to), this might just help. I didn’t plan to fall in love with an e-ink tablet. I actually bought it out of curiosity, thinking it might just be a cool gadget for reading or note-taking. I’m sharing my honest experience of switching from an LCD tablet to an e-ink screen, and how it helps me with my eyesight. If you've ever wondered about e-ink vs regular screens, especially when it comes to eye strain or focus, this might give you a clearer idea of what to expect.\n\n🔗 LINKS\n► 6 FREE TEMPLATES: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Study \"Comparison of oxidative stress response of in vitro retinal cells exposed to blue light from emissive versus reflective displays\": https://sid.onlinelibrary.wiley.com/doi/epdf/10.1002/jsid.1191\n\n🛒 Thinking of getting XPPen Magic Notepad tablet mentioned in the video?\nXPPen Magic Note Pad DE:\u00A0https://bit.ly/3EbW10k\nXPPen Magic Note Pad US:\u00A0https://bit.ly/4i1MYx3\nXPPen Magic Note Pad UK:\u00A0https://bit.ly/4jfykDm\nGet a 10% discount using the coupon code\u00A0howtotechstuff10, valid until Jun 30th.\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️E-ink reviews:\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/pMJ_MXq_wlI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Why My Eyes Were Struggling\n01:10 The Problem With Regular Screens (LCD, OLED)\n01:38 Discovering E-Ink Devices\n02:49 E-Ink vs Regular Screen\n04:42 E-ink Trade-offs\n05:18 Battery life on LEDs vs E-ink\n07:52 Writing experience on E-ink vs LEDs\n08:51 Focus & Distraction-Free Experience\n09:32 What Changed for Me (And Might Help You Too)", "Why THIS Screen Saved My Eyes (And Might Save Yours Too)", 31, 677, false, "uPXRQQuwIwM", "https://www.youtube.com/watch?v=uPXRQQuwIwM", "/downloads/How To Do Stuff/Season 2025/s2025e050400 - Why THIS Screen Saved My Eyes (And Might Save Yours Too).mp4", false, ~U[2025-05-04 15:01:19Z]] 04:05:41.363 [debug] QUERY OK source="sources" db=0.2ms idle=130.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:41.364 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:41.364 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3602837] 04:05:41.364 [debug] Current batch of media processed. Will check again in 1000ms 04:05:42.365 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I created 6 PDF templates that I personally use on my reMarkable Paper Pro. These include a to-do list, blank, lined, and dotted notepads, plus a 2026 and 2027 monthly planner and habit tracker. They’re simple, clean, and designed to make navigating your notes and projects way easier.\nIf you're looking for free reMarkable templates, custom templates, or just want to boost your productivity with the reMarkable, I hope these tools are helpful. Let me know what you think, and if you have ideas for future templates, drop a comment below!\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n#digitalplannerideas #freetemplates #productivityplanner \n\n🎬 CHAPTERS\n00:00 Intro to 6 Free Templates for reMarkable Paper Pro\n00:37 How these templates work\n01:55 Habit Tracker and Monthly Planner templates\n02:17 How I use these templates", "duration" => 217, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e042900 - I Made Something for Your reMarkable Paper Pro. It’s FREE!.mp4", "id" => "WRCBaz1bFAY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WRCBaz1bFAY", "playlist_index" => 15, "timestamp" => 1745938851, "title" => "I Made Something for Your reMarkable Paper Pro. It’s FREE!", "upload_date" => "20250429"} 04:05:42.366 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:42.366 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:42.367 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-29 15:00:51Z], 31] 04:05:42.377 [debug] QUERY OK source="media_items" db=10.1ms idle=138.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I created 6 PDF templates that I personally use on my reMarkable Paper Pro. These include a to-do list, blank, lined, and dotted notepads, plus a 2026 and 2027 monthly planner and habit tracker. They’re simple, clean, and designed to make navigating your notes and projects way easier.\nIf you're looking for free reMarkable templates, custom templates, or just want to boost your productivity with the reMarkable, I hope these tools are helpful. Let me know what you think, and if you have ideas for future templates, drop a comment below!\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n#digitalplannerideas #freetemplates #productivityplanner \n\n🎬 CHAPTERS\n00:00 Intro to 6 Free Templates for reMarkable Paper Pro\n00:37 How these templates work\n01:55 Habit Tracker and Monthly Planner templates\n02:17 How I use these templates", "I Made Something for Your reMarkable Paper Pro. It’s FREE!", "6799ca29-2829-4cac-8168-b3dbad1811ed", false, 31, [], 217, false, "WRCBaz1bFAY", "https://www.youtube.com/watch?v=WRCBaz1bFAY", 15, "/downloads/How To Do Stuff/Season 2025/s2025e042900 - I Made Something for Your reMarkable Paper Pro. It’s FREE!.mp4", false, false, 98, ~U[2025-04-29 15:00:51Z], ~U[2026-08-05 02:05:42Z], ~U[2026-08-05 02:05:42Z], "I created 6 PDF templates that I personally use on my reMarkable Paper Pro. These include a to-do list, blank, lined, and dotted notepads, plus a 2026 and 2027 monthly planner and habit tracker. They’re simple, clean, and designed to make navigating your notes and projects way easier.\nIf you're looking for free reMarkable templates, custom templates, or just want to boost your productivity with the reMarkable, I hope these tools are helpful. Let me know what you think, and if you have ideas for future templates, drop a comment below!\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n#digitalplannerideas #freetemplates #productivityplanner \n\n🎬 CHAPTERS\n00:00 Intro to 6 Free Templates for reMarkable Paper Pro\n00:37 How these templates work\n01:55 Habit Tracker and Monthly Planner templates\n02:17 How I use these templates", "I Made Something for Your reMarkable Paper Pro. It’s FREE!", 31, 217, false, "WRCBaz1bFAY", "https://www.youtube.com/watch?v=WRCBaz1bFAY", "/downloads/How To Do Stuff/Season 2025/s2025e042900 - I Made Something for Your reMarkable Paper Pro. It’s FREE!.mp4", false, ~U[2025-04-29 15:00:51Z]] 04:05:42.377 [debug] QUERY OK source="sources" db=0.1ms idle=143.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:42.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:42.378 [debug] QUERY OK source="media_items" db=0.1ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3575788] 04:05:42.378 [debug] Current batch of media processed. Will check again in 1000ms 04:05:43.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you've been curious about the Bigme B1051 Series, especially the Bigme B1051C, this video is for you. I spent few weeks with the B1051 Bigme and wanted to share my honest thoughts; not just the specs, but also what it's actually like to use it day-to-day. If you're new to Bigme devices or trying to decide if Bigme 1051C is worth it, I’ll walk you through what stood out (spoiler alert: battery is exceptional), what could be better, and who I think this device is really for.\n\n🛒 Thinking of purchasing BIGME B1051?\n► AMAZON US 🇺🇸 (Bigme B1051C): https://amzn.to/4jiF5oe\n► AMAZON US 🇺🇸 (Bigme B1051C-Pro): https://amzn.to/4lXduLl\n► AMAZON UK/EU 🇬🇧🇪🇺 (Bigme B1051C): https://amzn.to/3ExLZqy\n► BIGME STORE: https://store.bigme.vip/products/b1051-series-10-3-color-e-ink-tablet-pc-with-cutting-edge-performance?ref=htds&variant=44294274449587\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other E-ink Reviews:\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/j_E2mhBxPZQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#Bigme #BigmeB1051C #B1051Series #EInkTablet #ColorEInk\n\n🎬 CHAPTERS\n00:00 Intro to Bigme B1051C Review\n01:00 Quick Thoughts\n02:17 Tech Specs\n03:00 Kaleido 3 Display Explained\n05:50 Pricing of B1051 Lineup\n07:59 Build Quality\n08:52 Design Features\n09:54 Stylus\n10:50 Reading Experience\n12:14 Writing Experience\n12:58 Performance\n13:20 Global Handwriting Feature\n13:56 Battery Life\n14:08 Battery Usage - Reading Tests\n14:46 Battery Usage - Writing Tests\n15:28 Interesting Features\n15:48 Real-time voice transcription DEMO\n17:02 AI Transcription Summary\n17:30 Document Scanning and OCR\n17:52 Handwriting to text Conversion\n18:06 BigmeGPT\n18:31 Keyboard folio\n19:09 Who Is This Device For?", "duration" => 1241, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e042200 - I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review.mp4", "id" => "pMJ_MXq_wlI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pMJ_MXq_wlI", "playlist_index" => 16, "timestamp" => 1745334078, "title" => "I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review", "upload_date" => "20250422"} 04:05:43.379 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:43.380 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:43.380 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-22 15:01:18Z], 31] 04:05:43.382 [debug] QUERY OK source="media_items" db=1.0ms idle=150.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you've been curious about the Bigme B1051 Series, especially the Bigme B1051C, this video is for you. I spent few weeks with the B1051 Bigme and wanted to share my honest thoughts; not just the specs, but also what it's actually like to use it day-to-day. If you're new to Bigme devices or trying to decide if Bigme 1051C is worth it, I’ll walk you through what stood out (spoiler alert: battery is exceptional), what could be better, and who I think this device is really for.\n\n🛒 Thinking of purchasing BIGME B1051?\n► AMAZON US 🇺🇸 (Bigme B1051C): https://amzn.to/4jiF5oe\n► AMAZON US 🇺🇸 (Bigme B1051C-Pro): https://amzn.to/4lXduLl\n► AMAZON UK/EU 🇬🇧🇪🇺 (Bigme B1051C): https://amzn.to/3ExLZqy\n► BIGME STORE: https://store.bigme.vip/products/b1051-series-10-3-color-e-ink-tablet-pc-with-cutting-edge-performance?ref=htds&variant=44294274449587\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other E-ink Reviews:\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/j_E2mhBxPZQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#Bigme #BigmeB1051C #B1051Series #EInkTablet #ColorEInk\n\n🎬 CHAPTERS\n00:00 Intro to Bigme B1051C Review\n01:00 Quick Thoughts\n02:17 Tech Specs\n03:00 Kaleido 3 Display Explained\n05:50 Pricing of B1051 Lineup\n07:59 Build Quality\n08:52 Design Features\n09:54 Stylus\n10:50 Reading Experience\n12:14 Writing Experience\n12:58 Performance\n13:20 Global Handwriting Feature\n13:56 Battery Life\n14:08 Battery Usage - Reading Tests\n14:46 Battery Usage - Writing Tests\n15:28 Interesting Features\n15:48 Real-time voice transcription DEMO\n17:02 AI Transcription Summary\n17:30 Document Scanning and OCR\n17:52 Handwriting to text Conversion\n18:06 BigmeGPT\n18:31 Keyboard folio\n19:09 Who Is This Device For?", "I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review", "64558182-28a9-4227-a16c-15a7286838bf", false, 31, [], 1241, false, "pMJ_MXq_wlI", "https://www.youtube.com/watch?v=pMJ_MXq_wlI", 16, "/downloads/How To Do Stuff/Season 2025/s2025e042200 - I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review.mp4", false, false, 98, ~U[2025-04-22 15:01:18Z], ~U[2026-08-05 02:05:43Z], ~U[2026-08-05 02:05:43Z], "If you've been curious about the Bigme B1051 Series, especially the Bigme B1051C, this video is for you. I spent few weeks with the B1051 Bigme and wanted to share my honest thoughts; not just the specs, but also what it's actually like to use it day-to-day. If you're new to Bigme devices or trying to decide if Bigme 1051C is worth it, I’ll walk you through what stood out (spoiler alert: battery is exceptional), what could be better, and who I think this device is really for.\n\n🛒 Thinking of purchasing BIGME B1051?\n► AMAZON US 🇺🇸 (Bigme B1051C): https://amzn.to/4jiF5oe\n► AMAZON US 🇺🇸 (Bigme B1051C-Pro): https://amzn.to/4lXduLl\n► AMAZON UK/EU 🇬🇧🇪🇺 (Bigme B1051C): https://amzn.to/3ExLZqy\n► BIGME STORE: https://store.bigme.vip/products/b1051-series-10-3-color-e-ink-tablet-pc-with-cutting-edge-performance?ref=htds&variant=44294274449587\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other E-ink Reviews:\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/j_E2mhBxPZQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#Bigme #BigmeB1051C #B1051Series #EInkTablet #ColorEInk\n\n🎬 CHAPTERS\n00:00 Intro to Bigme B1051C Review\n01:00 Quick Thoughts\n02:17 Tech Specs\n03:00 Kaleido 3 Display Explained\n05:50 Pricing of B1051 Lineup\n07:59 Build Quality\n08:52 Design Features\n09:54 Stylus\n10:50 Reading Experience\n12:14 Writing Experience\n12:58 Performance\n13:20 Global Handwriting Feature\n13:56 Battery Life\n14:08 Battery Usage - Reading Tests\n14:46 Battery Usage - Writing Tests\n15:28 Interesting Features\n15:48 Real-time voice transcription DEMO\n17:02 AI Transcription Summary\n17:30 Document Scanning and OCR\n17:52 Handwriting to text Conversion\n18:06 BigmeGPT\n18:31 Keyboard folio\n19:09 Who Is This Device For?", "I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review", 31, 1241, false, "pMJ_MXq_wlI", "https://www.youtube.com/watch?v=pMJ_MXq_wlI", "/downloads/How To Do Stuff/Season 2025/s2025e042200 - I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review.mp4", false, ~U[2025-04-22 15:01:18Z]] 04:05:43.382 [debug] QUERY OK source="sources" db=0.1ms idle=146.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:43.382 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:43.382 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3538112] 04:05:43.382 [debug] Current batch of media processed. Will check again in 1000ms 04:05:44.383 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "New 3.19 beta update for the reMarkable Paper Pro got released and I’m running a full battery test to see how the new Extra Bright mode affects power consumption.\n\nI’ll walk you through all three new features in this update, including the small UI tweaks, the improved grid view, and a handy shortcut I discovered that might’ve been hiding in plain sight. But the main focus here is the brightness increase; and whether the trade-off in battery life is actually worth it.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro & What’s New in 3.19\n00:43 Small Changes & Handy Shortcut\n01:46 Extra Bright Mode Explained\n02:30 Full Battery Test Results", "duration" => 254, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e041700 - 3.19 Update for reMarkable Paper Pro: Full Battery Test Results.mp4", "id" => "rVOW309GMpw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rVOW309GMpw", "playlist_index" => 17, "timestamp" => 1744902083, "title" => "3.19 Update for reMarkable Paper Pro: Full Battery Test Results", "upload_date" => "20250417"} 04:05:44.383 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:44.384 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:44.384 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 15:01:23Z], 31] 04:05:44.395 [debug] QUERY OK source="media_items" db=10.2ms idle=153.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["New 3.19 beta update for the reMarkable Paper Pro got released and I’m running a full battery test to see how the new Extra Bright mode affects power consumption.\n\nI’ll walk you through all three new features in this update, including the small UI tweaks, the improved grid view, and a handy shortcut I discovered that might’ve been hiding in plain sight. But the main focus here is the brightness increase; and whether the trade-off in battery life is actually worth it.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro & What’s New in 3.19\n00:43 Small Changes & Handy Shortcut\n01:46 Extra Bright Mode Explained\n02:30 Full Battery Test Results", "3.19 Update for reMarkable Paper Pro: Full Battery Test Results", "296c08bb-b932-406a-9f01-364be2aa95b8", false, 31, [], 254, false, "rVOW309GMpw", "https://www.youtube.com/watch?v=rVOW309GMpw", 17, "/downloads/How To Do Stuff/Season 2025/s2025e041700 - 3.19 Update for reMarkable Paper Pro: Full Battery Test Results.mp4", false, false, 98, ~U[2025-04-17 15:01:23Z], ~U[2026-08-05 02:05:44Z], ~U[2026-08-05 02:05:44Z], "New 3.19 beta update for the reMarkable Paper Pro got released and I’m running a full battery test to see how the new Extra Bright mode affects power consumption.\n\nI’ll walk you through all three new features in this update, including the small UI tweaks, the improved grid view, and a handy shortcut I discovered that might’ve been hiding in plain sight. But the main focus here is the brightness increase; and whether the trade-off in battery life is actually worth it.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro & What’s New in 3.19\n00:43 Small Changes & Handy Shortcut\n01:46 Extra Bright Mode Explained\n02:30 Full Battery Test Results", "3.19 Update for reMarkable Paper Pro: Full Battery Test Results", 31, 254, false, "rVOW309GMpw", "https://www.youtube.com/watch?v=rVOW309GMpw", "/downloads/How To Do Stuff/Season 2025/s2025e041700 - 3.19 Update for reMarkable Paper Pro: Full Battery Test Results.mp4", false, ~U[2025-04-17 15:01:23Z]] 04:05:44.395 [debug] QUERY OK source="sources" db=0.1ms idle=158.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:44.395 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:44.396 [debug] QUERY OK source="media_items" db=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3523128] 04:05:44.396 [debug] Current batch of media processed. Will check again in 1000ms 04:05:45.396 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I’m testing out the iFLYTEK AINOTE Air 2 to see how good it really is for note-taking, handwriting-to-text conversion, and AI-powered voice recording capabilities. I was curious to test how smart the AI actually is when converting speech and handwriting into editable text. I didn’t know much about iFLYTEK before this, so I went in a little skeptical….but some of the stuff actually surprised me.\nIf you’re wondering how this device handles everyday tasks like writing notes, organizing thoughts, or even syncing across devices, I’ll walk you through all of that based on real-world use. I also take a look at how it compares to other digital notebooks I’ve tested.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of purchasing iFLYTEK AINOTE Air2?\n► AMAZON US 🇺🇸: https://amzn.to/4kFTafL\n► iFLYTEK STORE: https://store.iflytek.com/products/iflytek-ainote-air-2?utm_source=kol&utm_medium=ytbofficial&utm_campaign=HowToDoStuff\n► AMAZON UK/EU 🇬🇧🇪🇺 : https://amzn.to/4ltr5tg\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ Need a new wallpaper? https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n #iFLYTEKAINOTEAir2 #iFLYTEK #eink #einktablet #digitalplanner #productivity\n\n🎬 CHAPTERS\n00:00 Intro to iFLYTEK AINOTE Air 2 Review\n00:57 Tech Specs\n02:19 Design & Build Quality\n02:59 Protective Case\n03:38 Iflytek vs Remarkable Size Comparison\n03:53 Stylus\n04:48 Display\n06:07 AI Capabilities\n06:34 AI Voice-to-text Transcription Demo\n07:48 AI Summary\n08:06 AI Search\n08:17 Performance\n09:10 Battery Performance\n09:31 Battery Tests for Reading\n10:06 Battery Tests for Writing\n10:42 Writing Experience\n11:30 Handwriting-to-text Conversion\n12:09 Reading Experience\n13:02 Ways to Import Files\n13:53 Swipe Gestures\n14:44 Scanning Documents with Camera\n14:57 AINOTE App\n15:22 Handwriting Search\n16:11 Who is iFLYTEK Air 2 for?\n17:43 Who should avoid iFLYTEK Air2?", "duration" => 1155, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e041500 - iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?.mp4", "id" => "IABj8xuXI0Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IABj8xuXI0Q", "playlist_index" => 18, "timestamp" => 1744729234, "title" => "iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?", "upload_date" => "20250415"} 04:05:45.396 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:45.397 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:45.397 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-15 15:00:34Z], 31] 04:05:45.408 [debug] QUERY OK source="media_items" db=10.2ms idle=165.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m testing out the iFLYTEK AINOTE Air 2 to see how good it really is for note-taking, handwriting-to-text conversion, and AI-powered voice recording capabilities. I was curious to test how smart the AI actually is when converting speech and handwriting into editable text. I didn’t know much about iFLYTEK before this, so I went in a little skeptical….but some of the stuff actually surprised me.\nIf you’re wondering how this device handles everyday tasks like writing notes, organizing thoughts, or even syncing across devices, I’ll walk you through all of that based on real-world use. I also take a look at how it compares to other digital notebooks I’ve tested.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of purchasing iFLYTEK AINOTE Air2?\n► AMAZON US 🇺🇸: https://amzn.to/4kFTafL\n► iFLYTEK STORE: https://store.iflytek.com/products/iflytek-ainote-air-2?utm_source=kol&utm_medium=ytbofficial&utm_campaign=HowToDoStuff\n► AMAZON UK/EU 🇬🇧🇪🇺 : https://amzn.to/4ltr5tg\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ Need a new wallpaper? https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n #iFLYTEKAINOTEAir2 #iFLYTEK #eink #einktablet #digitalplanner #productivity\n\n🎬 CHAPTERS\n00:00 Intro to iFLYTEK AINOTE Air 2 Review\n00:57 Tech Specs\n02:19 Design & Build Quality\n02:59 Protective Case\n03:38 Iflytek vs Remarkable Size Comparison\n03:53 Stylus\n04:48 Display\n06:07 AI Capabilities\n06:34 AI Voice-to-text Transcription Demo\n07:48 AI Summary\n08:06 AI Search\n08:17 Performance\n09:10 Battery Performance\n09:31 Battery Tests for Reading\n10:06 Battery Tests for Writing\n10:42 Writing Experience\n11:30 Handwriting-to-text Conversion\n12:09 Reading Experience\n13:02 Ways to Import Files\n13:53 Swipe Gestures\n14:44 Scanning Documents with Camera\n14:57 AINOTE App\n15:22 Handwriting Search\n16:11 Who is iFLYTEK Air 2 for?\n17:43 Who should avoid iFLYTEK Air2?", "iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?", "6ec29bb0-fabe-4b62-94df-7d4d347c180d", false, 31, [], 1155, false, "IABj8xuXI0Q", "https://www.youtube.com/watch?v=IABj8xuXI0Q", 18, "/downloads/How To Do Stuff/Season 2025/s2025e041500 - iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?.mp4", false, false, 98, ~U[2025-04-15 15:00:34Z], ~U[2026-08-05 02:05:45Z], ~U[2026-08-05 02:05:45Z], "I’m testing out the iFLYTEK AINOTE Air 2 to see how good it really is for note-taking, handwriting-to-text conversion, and AI-powered voice recording capabilities. I was curious to test how smart the AI actually is when converting speech and handwriting into editable text. I didn’t know much about iFLYTEK before this, so I went in a little skeptical….but some of the stuff actually surprised me.\nIf you’re wondering how this device handles everyday tasks like writing notes, organizing thoughts, or even syncing across devices, I’ll walk you through all of that based on real-world use. I also take a look at how it compares to other digital notebooks I’ve tested.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of purchasing iFLYTEK AINOTE Air2?\n► AMAZON US 🇺🇸: https://amzn.to/4kFTafL\n► iFLYTEK STORE: https://store.iflytek.com/products/iflytek-ainote-air-2?utm_source=kol&utm_medium=ytbofficial&utm_campaign=HowToDoStuff\n► AMAZON UK/EU 🇬🇧🇪🇺 : https://amzn.to/4ltr5tg\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ Need a new wallpaper? https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n #iFLYTEKAINOTEAir2 #iFLYTEK #eink #einktablet #digitalplanner #productivity\n\n🎬 CHAPTERS\n00:00 Intro to iFLYTEK AINOTE Air 2 Review\n00:57 Tech Specs\n02:19 Design & Build Quality\n02:59 Protective Case\n03:38 Iflytek vs Remarkable Size Comparison\n03:53 Stylus\n04:48 Display\n06:07 AI Capabilities\n06:34 AI Voice-to-text Transcription Demo\n07:48 AI Summary\n08:06 AI Search\n08:17 Performance\n09:10 Battery Performance\n09:31 Battery Tests for Reading\n10:06 Battery Tests for Writing\n10:42 Writing Experience\n11:30 Handwriting-to-text Conversion\n12:09 Reading Experience\n13:02 Ways to Import Files\n13:53 Swipe Gestures\n14:44 Scanning Documents with Camera\n14:57 AINOTE App\n15:22 Handwriting Search\n16:11 Who is iFLYTEK Air 2 for?\n17:43 Who should avoid iFLYTEK Air2?", "iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?", 31, 1155, false, "IABj8xuXI0Q", "https://www.youtube.com/watch?v=IABj8xuXI0Q", "/downloads/How To Do Stuff/Season 2025/s2025e041500 - iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?.mp4", false, ~U[2025-04-15 15:00:34Z]] 04:05:45.408 [debug] QUERY OK source="sources" db=0.1ms idle=170.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:45.408 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:45.409 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3514387] 04:05:45.409 [debug] Current batch of media processed. Will check again in 1000ms 04:05:46.409 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I will show you all the reMarkable Paper Pro gestures; yes, every single one I could find. These RPP gestures are designed to make using your e-ink faster, smoother, and honestly, way more fun. \nI know the remarkable paper pro already has a guide for some of these, but let’s be real... most of us don’t sit down and read through manuals. That’s why I made this video; to show you how it all works, and hopefully help you remember them by seeing them in action.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Experimental Gestures & Options (Reddit): https://www.reddit.com/r/RemarkableTablet/comments/1hhxzh5/some_experimental_options_i_discovered/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to RPP gestures\n00:10 Why Gestures Matter on reMarkable Paper Pro\n00:50 Editing Gestures\n01:30 Navigation Gestures\n02:18 Shortcut Gestures\n03:26 Typed Text Gestures\n03:49 Experimental Gestures", "duration" => 303, "filename" => "/downloads/How To Do Stuff/Season 2025/s2025e040500 - Learn These reMarkable Gestures Once - Use Them Forever!.mp4", "id" => "sP_T1d5oBWw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sP_T1d5oBWw", "playlist_index" => 19, "timestamp" => 1743867030, "title" => "Learn These reMarkable Gestures Once - Use Them Forever!", "upload_date" => "20250405"} 04:05:46.409 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:46.410 [debug] QUERY OK source="sources" db=0.0ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.410 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 15:30:30Z], 31] 04:05:46.421 [debug] QUERY OK source="media_items" db=10.1ms idle=177.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I will show you all the reMarkable Paper Pro gestures; yes, every single one I could find. These RPP gestures are designed to make using your e-ink faster, smoother, and honestly, way more fun. \nI know the remarkable paper pro already has a guide for some of these, but let’s be real... most of us don’t sit down and read through manuals. That’s why I made this video; to show you how it all works, and hopefully help you remember them by seeing them in action.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Experimental Gestures & Options (Reddit): https://www.reddit.com/r/RemarkableTablet/comments/1hhxzh5/some_experimental_options_i_discovered/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to RPP gestures\n00:10 Why Gestures Matter on reMarkable Paper Pro\n00:50 Editing Gestures\n01:30 Navigation Gestures\n02:18 Shortcut Gestures\n03:26 Typed Text Gestures\n03:49 Experimental Gestures", "Learn These reMarkable Gestures Once - Use Them Forever!", "b1734211-745a-45cb-8601-ff37a5e6896e", false, 31, [], 303, false, "sP_T1d5oBWw", "https://www.youtube.com/watch?v=sP_T1d5oBWw", 19, "/downloads/How To Do Stuff/Season 2025/s2025e040500 - Learn These reMarkable Gestures Once - Use Them Forever!.mp4", false, false, 98, ~U[2025-04-05 15:30:30Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I will show you all the reMarkable Paper Pro gestures; yes, every single one I could find. These RPP gestures are designed to make using your e-ink faster, smoother, and honestly, way more fun. \nI know the remarkable paper pro already has a guide for some of these, but let’s be real... most of us don’t sit down and read through manuals. That’s why I made this video; to show you how it all works, and hopefully help you remember them by seeing them in action.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Experimental Gestures & Options (Reddit): https://www.reddit.com/r/RemarkableTablet/comments/1hhxzh5/some_experimental_options_i_discovered/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to RPP gestures\n00:10 Why Gestures Matter on reMarkable Paper Pro\n00:50 Editing Gestures\n01:30 Navigation Gestures\n02:18 Shortcut Gestures\n03:26 Typed Text Gestures\n03:49 Experimental Gestures", "Learn These reMarkable Gestures Once - Use Them Forever!", 31, 303, false, "sP_T1d5oBWw", "https://www.youtube.com/watch?v=sP_T1d5oBWw", "/downloads/How To Do Stuff/Season 2025/s2025e040500 - Learn These reMarkable Gestures Once - Use Them Forever!.mp4", false, ~U[2025-04-05 15:30:30Z]] 04:05:46.421 [debug] QUERY OK source="sources" db=0.1ms idle=182.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.421 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:46.422 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3472883] 04:05:46.422 [debug] Current batch of media processed. Will check again in 1000ms 04:05:46.924 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@howtotechstuff --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/How To Do Stuff/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/83/67/8367917e33292cb0b1db3568f2cf6ac314de6edf5cfc5e839234fc813169878a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/29/ad/29adf72c4f33ae780d2a3150706f68243910040afeaa1fe5d533998adcde56ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:05:46.925 [debug] Gracefully stopping file follower 04:05:46.925 [debug] QUERY OK source="sources" db=0.2ms idle=514.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 04:05:46.925 [debug] QUERY OK source="sources" db=0.0ms idle=504.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.926 [debug] QUERY OK source="media_items" db=0.3ms idle=504.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-04 14:30:27Z], 31] 04:05:46.927 [debug] QUERY OK source="media_items" db=0.8ms idle=504.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’ve just picked up the new reMarkable Paper Pro Move, or you’re thinking about it, this video will help you get the most out of your device. I’m sharing 13 practical tips and tricks that work not only on the Paper Pro Move but also on the reMarkable Paper Pro since both run the same software. \nI’ll also share a couple of free tools and templates you can try, plus my honest thoughts after using the reMarkable Move for real work and planning. If you want a straightforward reMarkable Paper Pro Move review and a closer look at how this color e-ink tablet works in practice, you’re in the right place.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n🔗 LINKS\n► Download my FREE reMarkable templates: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Recalendar.me for FREE personalized calendar PDF: https://recalendar.me/\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/zZoYxOv8UZY\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Move Tips & Tricks\n00:42 Light Sleep Lock\n01:21 'Select Below' Gesture\n01:59 Snap Lines & Shapes\n02:30 Numbered Folders\n03:05 Insert Notes in PDFs\n03:38 Adjust PDF Contrast\n04:02 Widen Text Column for Typed Text\n04:33 Different Ways to Select Typed Text\n05:14 Tap PDF Links\n05:56 Quick Access to Favorite Drawer\n06:19 Custom Passcode\n06:48 Quick Frontlight Control\n07:21 ReCalendar Tool for Custom Calendars", "Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!", "6f75bc50-ce06-4017-9651-c039c3240298", false, 31, [], 538, false, "_wjeu1fgbRU", "https://www.youtube.com/watch?v=_wjeu1fgbRU", 1, "/downloads/How To Do Stuff/Season 2025/s2025e100400 - Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!.mp4", false, false, 98, ~U[2025-10-04 14:30:27Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "If you’ve just picked up the new reMarkable Paper Pro Move, or you’re thinking about it, this video will help you get the most out of your device. I’m sharing 13 practical tips and tricks that work not only on the Paper Pro Move but also on the reMarkable Paper Pro since both run the same software. \nI’ll also share a couple of free tools and templates you can try, plus my honest thoughts after using the reMarkable Move for real work and planning. If you want a straightforward reMarkable Paper Pro Move review and a closer look at how this color e-ink tablet works in practice, you’re in the right place.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n🔗 LINKS\n► Download my FREE reMarkable templates: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Recalendar.me for FREE personalized calendar PDF: https://recalendar.me/\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/zZoYxOv8UZY\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Move Tips & Tricks\n00:42 Light Sleep Lock\n01:21 'Select Below' Gesture\n01:59 Snap Lines & Shapes\n02:30 Numbered Folders\n03:05 Insert Notes in PDFs\n03:38 Adjust PDF Contrast\n04:02 Widen Text Column for Typed Text\n04:33 Different Ways to Select Typed Text\n05:14 Tap PDF Links\n05:56 Quick Access to Favorite Drawer\n06:19 Custom Passcode\n06:48 Quick Frontlight Control\n07:21 ReCalendar Tool for Custom Calendars", "Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!", 31, 538, false, "_wjeu1fgbRU", "https://www.youtube.com/watch?v=_wjeu1fgbRU", "/downloads/How To Do Stuff/Season 2025/s2025e100400 - Top 13 Tips & Tricks for Your reMarkable Paper Pro Move!.mp4", false, ~U[2025-10-04 14:30:27Z]] 04:05:46.927 [debug] QUERY OK source="sources" db=0.2ms idle=505.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.928 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-27 14:30:32Z], 31] 04:05:46.929 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m testing Viwoods latest releases, the W2 Stylus Pro and the Ceramic Stylus. The Stylus Pro feels like a solid upgrade with a smoother, more natural writing experience, while the Ceramic Stylus stands out with its ultra-precise tip for technical work. I’ll compare both to the original stylus and share my thoughts to help you decide which one is right for you.\n\n🛒 Thinking of getting Viwoods Stylus Pro(W2) or Ceramic Stylus? \n► Viwoods W2 Stylus Pro: https://viwoods.com/products/viwoods-stylus-pro?ref=HTDS\n\n► Viwoods C1 Ceramic Stylus: https://viwoods.com/products/viwoods-c1-ceramics-stylus?ref=HTDS\n\n🛒 Thinking of getting Viwoods AiPaper or AiPaper Mini (100 days FREE return from Viwoods website)? \n⭐️ Viwoods AiPaper\n► AMAZON 🇺🇸: https://amzn.to/42aAaPR\n► VIWOODS STORE: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n⭐️ Viwoods AiPaper Mini\n► AMAZON 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n\n⚡️Viwoods reviews:\n► https://youtu.be/dTgDSZvpflM\n► https://youtu.be/7nAaza_SCdk\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #aipapermini\n🎬 CHAPTERS\n00:00 Intro to W2 Stylus Pro & Ceramic Stylus\n00:34 Pricing\n01:40 Comparing to the Original W1 Stylus\n03:06 Custom Button Feature\n03:35 W2 Stylus Pro Review\n03:54 Nib Options: Felt vs POM\n04:41 Ceramic Stylus Review\n04:55 Ceramic Tip Design & Feel\n05:54 Sound Test: Ceramic vs Others\n06:51 Precision and Use Cases", "Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus", "7b26b64b-cfc9-4b46-919f-ef65eb678b60", false, 31, [], 500, false, "RZHh826SyPo", "https://www.youtube.com/watch?v=RZHh826SyPo", 2, "/downloads/How To Do Stuff/Season 2025/s2025e092700 - Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus.mp4", false, false, 98, ~U[2025-09-27 14:30:32Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’m testing Viwoods latest releases, the W2 Stylus Pro and the Ceramic Stylus. The Stylus Pro feels like a solid upgrade with a smoother, more natural writing experience, while the Ceramic Stylus stands out with its ultra-precise tip for technical work. I’ll compare both to the original stylus and share my thoughts to help you decide which one is right for you.\n\n🛒 Thinking of getting Viwoods Stylus Pro(W2) or Ceramic Stylus? \n► Viwoods W2 Stylus Pro: https://viwoods.com/products/viwoods-stylus-pro?ref=HTDS\n\n► Viwoods C1 Ceramic Stylus: https://viwoods.com/products/viwoods-c1-ceramics-stylus?ref=HTDS\n\n🛒 Thinking of getting Viwoods AiPaper or AiPaper Mini (100 days FREE return from Viwoods website)? \n⭐️ Viwoods AiPaper\n► AMAZON 🇺🇸: https://amzn.to/42aAaPR\n► VIWOODS STORE: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n⭐️ Viwoods AiPaper Mini\n► AMAZON 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n\n⚡️Viwoods reviews:\n► https://youtu.be/dTgDSZvpflM\n► https://youtu.be/7nAaza_SCdk\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #aipapermini\n🎬 CHAPTERS\n00:00 Intro to W2 Stylus Pro & Ceramic Stylus\n00:34 Pricing\n01:40 Comparing to the Original W1 Stylus\n03:06 Custom Button Feature\n03:35 W2 Stylus Pro Review\n03:54 Nib Options: Felt vs POM\n04:41 Ceramic Stylus Review\n04:55 Ceramic Tip Design & Feel\n05:54 Sound Test: Ceramic vs Others\n06:51 Precision and Use Cases", "Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus", 31, 500, false, "RZHh826SyPo", "https://www.youtube.com/watch?v=RZHh826SyPo", "/downloads/How To Do Stuff/Season 2025/s2025e092700 - Are the New Viwoods Styluses Worth It? Viwoods Stylus Pro (W2) vs Ceramic Stylus.mp4", false, ~U[2025-09-27 14:30:32Z]] 04:05:46.929 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.930 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-20 12:15:09Z], 31] 04:05:46.931 [debug] QUERY OK source="media_items" db=0.9ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve been spending some time with reMarkable Paper Pro Move and I'm ready to share my honest thoughts. At first glance, the reMarkable Move looks like the perfect and smaller e-ink tablet to the Paper Pro; portable, premium, and built for note-taking on the go. And yes, the writing experience is genuinely one of the best I’ve ever had on an e-ink device.\nBut as you’ll see in this Paper Pro Move review, it’s not all smooth sailing. The reMarkable Pro Move comes with a few frustrating compromises in performance, battery life, and reading experience, especially when it comes to PDFs. I’ll also compare it directly with the larger Paper Pro, so you can see how notes and annotations scale between the two.\n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/l0dJBvuJ7KQ\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#remarkablemove #remarkablepaperpro #papertablet \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Move\n01:05 In a Nutshell (Quick Summary)\n02:12 Paper Pro Move vs Viwoods AiPaper\n03:47 Design & Build Quality\n04:32 reMarkable Move Case\n05:51 Display\n07:02 Reflectivity and Contrast Tests\n08:48 Marker vs Marker Plus\n09:47 Interface & Software Features\n10:50 Performance & Speed\n11:39 Extra Features\n12:39 Battery Life & Tests\n13:58 Writing Experience\n14:09 Note Scaling (Paper Pro vs Paper Pro Move)\n15:52 Reading Experience (EPUBs & PDFs)", "A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review", "cf1ca9fa-fc71-442f-a0ad-974864ed000f", false, 31, [], 1111, false, "zZoYxOv8UZY", "https://www.youtube.com/watch?v=zZoYxOv8UZY", 3, "/downloads/How To Do Stuff/Season 2025/s2025e092000 - A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review.mp4", false, false, 98, ~U[2025-09-20 12:15:09Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’ve been spending some time with reMarkable Paper Pro Move and I'm ready to share my honest thoughts. At first glance, the reMarkable Move looks like the perfect and smaller e-ink tablet to the Paper Pro; portable, premium, and built for note-taking on the go. And yes, the writing experience is genuinely one of the best I’ve ever had on an e-ink device.\nBut as you’ll see in this Paper Pro Move review, it’s not all smooth sailing. The reMarkable Pro Move comes with a few frustrating compromises in performance, battery life, and reading experience, especially when it comes to PDFs. I’ll also compare it directly with the larger Paper Pro, so you can see how notes and annotations scale between the two.\n\n🛒 Thinking of getting REMARKABLE PAPER PRO MOVE?\n► AMAZON US 🇺🇸: https://amzn.to/4nKjXcC\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/4nHkcVH\n► REMARKABLE STORE: https://remarkable.com/products/remarkable-paper/pro-move\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other reMarkable videos:\n► https://youtu.be/l0dJBvuJ7KQ\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/45gmAtA8QZ4\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#remarkablemove #remarkablepaperpro #papertablet \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Move\n01:05 In a Nutshell (Quick Summary)\n02:12 Paper Pro Move vs Viwoods AiPaper\n03:47 Design & Build Quality\n04:32 reMarkable Move Case\n05:51 Display\n07:02 Reflectivity and Contrast Tests\n08:48 Marker vs Marker Plus\n09:47 Interface & Software Features\n10:50 Performance & Speed\n11:39 Extra Features\n12:39 Battery Life & Tests\n13:58 Writing Experience\n14:09 Note Scaling (Paper Pro vs Paper Pro Move)\n15:52 Reading Experience (EPUBs & PDFs)", "A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review", 31, 1111, false, "zZoYxOv8UZY", "https://www.youtube.com/watch?v=zZoYxOv8UZY", "/downloads/How To Do Stuff/Season 2025/s2025e092000 - A Minimalist Dream or Overpriced Mistake? reMarkable Paper Pro Move Review.mp4", false, ~U[2025-09-20 12:15:09Z]] 04:05:46.931 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.931 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-10 13:51:45Z], 31] 04:05:46.932 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n\nI got my hands on the AINOTE 2, the thinnest paper tablet I’ve ever tested, and I’m kind of blown away by how light and sleek this thing is. In this video, I take you through my full experience using it for reading, writing, and note-taking, and share what it’s like compared to other e-ink devices I’ve reviewed, especially the Viwoods AiPaper. If you’re curious about how this new Kickstarter tablet stacks up and whether it’s worth your time, this one’s for you!\n\n🔗 LINKS\n► AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n► Book Light for Reading in Bed (Amazon🇺🇸): https://amzn.to/4petTfI\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#einktablet #ainote2 #kickstarter \n🎬 CHAPTERS\n00:00 Meet the AINOTE 2\n01:23 AINOTE2 in a Nutshell\n02:40 Tech Specs\n04:08 Build Quality & Design\n06:25 Display Deep Dive\n07:07 Refresh Modes\n07:24 Ghosting\n07:50 No Frontlight\n08:22 Reading Experience\n08:42 Split Screen Feature\n09:51 Writing Experience\n10:20 Stylus Features\n10:35 Stylus Sound Test vs Viwoods vs reMarkable\n11:41 Smart Gestures Explained\n12:12 Handwriting-to-Text Test\n12:47 AI Features\n13:15 Live AI Transcription Demo", "I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review", "4632dfba-cf74-4934-8f51-5fe589eac214", false, 31, [], 906, false, "eQdT2xeMvsM", "https://www.youtube.com/watch?v=eQdT2xeMvsM", 4, "/downloads/How To Do Stuff/Season 2025/s2025e091000 - I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review.mp4", false, false, 98, ~U[2025-09-10 13:51:45Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n\nI got my hands on the AINOTE 2, the thinnest paper tablet I’ve ever tested, and I’m kind of blown away by how light and sleek this thing is. In this video, I take you through my full experience using it for reading, writing, and note-taking, and share what it’s like compared to other e-ink devices I’ve reviewed, especially the Viwoods AiPaper. If you’re curious about how this new Kickstarter tablet stacks up and whether it’s worth your time, this one’s for you!\n\n🔗 LINKS\n► AINOTE 2 Kickstarter: https://www.kickstarter.com/projects/569412238/ainote-2-the-worlds-thinnest-ai-powered-paper-tablet?ref=cmzili\n► Book Light for Reading in Bed (Amazon🇺🇸): https://amzn.to/4petTfI\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#einktablet #ainote2 #kickstarter \n🎬 CHAPTERS\n00:00 Meet the AINOTE 2\n01:23 AINOTE2 in a Nutshell\n02:40 Tech Specs\n04:08 Build Quality & Design\n06:25 Display Deep Dive\n07:07 Refresh Modes\n07:24 Ghosting\n07:50 No Frontlight\n08:22 Reading Experience\n08:42 Split Screen Feature\n09:51 Writing Experience\n10:20 Stylus Features\n10:35 Stylus Sound Test vs Viwoods vs reMarkable\n11:41 Smart Gestures Explained\n12:12 Handwriting-to-Text Test\n12:47 AI Features\n13:15 Live AI Transcription Demo", "I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review", 31, 906, false, "eQdT2xeMvsM", "https://www.youtube.com/watch?v=eQdT2xeMvsM", "/downloads/How To Do Stuff/Season 2025/s2025e091000 - I Tested the Thinnest Paper Tablet Ever! AINOTE 2 Review.mp4", false, ~U[2025-09-10 13:51:45Z]] 04:05:46.933 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.933 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 15:00:47Z], 31] 04:05:46.934 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve been using the reMarkable Paper Pro since it first came out, and this new beta update 3.22 really has me thinking. On one hand, there are some nice reMarkable features here but on the other hand, one of the biggest features we’ve all been waiting for, handwriting search, is now locked behind a Connect subscription.\nI wanna share my thoughts on why this update has me a bit worried, and whether this approach makes sense for a premium device like the reMarkable Paper Pro.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Paper Pro Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other reMarkable videos:\n► https://youtu.be/45gmAtA8QZ4\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/l0dJBvuJ7KQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#remarkableupdate #digitalpaper #techupdate \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Update\n00:50 My Frustration with New Handwriting Search\n02:44 Toolbar Position\n03:00 New Icons Design", "reMarkable, This 3.22 Update Has Me Worried…", "a58ea45a-cdd3-417c-a8e6-71ede3c7f2ee", false, 31, [], 248, false, "SGkrqarj__0", "https://www.youtube.com/watch?v=SGkrqarj__0", 5, "/downloads/How To Do Stuff/Season 2025/s2025e083000 - reMarkable, This 3.22 Update Has Me Worried….mp4", false, false, 98, ~U[2025-08-30 15:00:47Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’ve been using the reMarkable Paper Pro since it first came out, and this new beta update 3.22 really has me thinking. On one hand, there are some nice reMarkable features here but on the other hand, one of the biggest features we’ve all been waiting for, handwriting search, is now locked behind a Connect subscription.\nI wanna share my thoughts on why this update has me a bit worried, and whether this approach makes sense for a premium device like the reMarkable Paper Pro.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Paper Pro Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other reMarkable videos:\n► https://youtu.be/45gmAtA8QZ4\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/l0dJBvuJ7KQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#remarkableupdate #digitalpaper #techupdate \n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro Update\n00:50 My Frustration with New Handwriting Search\n02:44 Toolbar Position\n03:00 New Icons Design", "reMarkable, This 3.22 Update Has Me Worried…", 31, 248, false, "SGkrqarj__0", "https://www.youtube.com/watch?v=SGkrqarj__0", "/downloads/How To Do Stuff/Season 2025/s2025e083000 - reMarkable, This 3.22 Update Has Me Worried….mp4", false, ~U[2025-08-30 15:00:47Z]] 04:05:46.934 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.935 [debug] QUERY OK source="media_items" db=0.8ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-12 15:00:16Z], 31] 04:05:46.936 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this Mudita Kompakt review, I test this minimalist E-Ink phone to see if it can really help you use your phone less and live more offline. \nAfter a few weeks with the Mudita Kompakt, I’ve realised this E-Ink phone is designed for one thing: helping you step away from screens and live more offline.\nIn this review, I take you through what it’s like to actually use the Mudita Kompakt day-to-day. We’ll cover the build quality, minimalist design, E-Ink display, battery life, and the surprisingly useful features it manages to pack in...along with the things I think could be improved.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting MUDITA KOMPAKT?\n► Get 15% off Mudita products (enter at checkout): HOWTODOSTUFF15\n► MUDITA STORE: https://mudita.com/products/phones/mudita-kompakt/?utm_medium=infl&utm_campaign=howtodostuff\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#moreofflinemorelife #MuditaKompakt #EInkphone #dumbphone #wearemudita\n\n🎬 CHAPTERS\n00:00 Intro to Mudita Kompakt\n00:41 What is the Mudita Kompakt?\n02:36 Design & Build Quality\n03:47 Camera\n05:07 Display\n06:08 Performance & Interface\n07:16 Battery Life\n08:46 Features\n10:11 What I Don’t Like\n10:57 Reading Experience", "Phone That Wants You to Use It Less?! - Mudita Kompakt Review", "e0da12c7-b28f-48af-bc3f-96112ce8607c", false, 31, [], 742, false, "9-6DzUFUO-E", "https://www.youtube.com/watch?v=9-6DzUFUO-E", 6, "/downloads/How To Do Stuff/Season 2025/s2025e081200 - Phone That Wants You to Use It Less?! - Mudita Kompakt Review.mp4", false, false, 98, ~U[2025-08-12 15:00:16Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "In this Mudita Kompakt review, I test this minimalist E-Ink phone to see if it can really help you use your phone less and live more offline. \nAfter a few weeks with the Mudita Kompakt, I’ve realised this E-Ink phone is designed for one thing: helping you step away from screens and live more offline.\nIn this review, I take you through what it’s like to actually use the Mudita Kompakt day-to-day. We’ll cover the build quality, minimalist design, E-Ink display, battery life, and the surprisingly useful features it manages to pack in...along with the things I think could be improved.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting MUDITA KOMPAKT?\n► Get 15% off Mudita products (enter at checkout): HOWTODOSTUFF15\n► MUDITA STORE: https://mudita.com/products/phones/mudita-kompakt/?utm_medium=infl&utm_campaign=howtodostuff\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#moreofflinemorelife #MuditaKompakt #EInkphone #dumbphone #wearemudita\n\n🎬 CHAPTERS\n00:00 Intro to Mudita Kompakt\n00:41 What is the Mudita Kompakt?\n02:36 Design & Build Quality\n03:47 Camera\n05:07 Display\n06:08 Performance & Interface\n07:16 Battery Life\n08:46 Features\n10:11 What I Don’t Like\n10:57 Reading Experience", "Phone That Wants You to Use It Less?! - Mudita Kompakt Review", 31, 742, false, "9-6DzUFUO-E", "https://www.youtube.com/watch?v=9-6DzUFUO-E", "/downloads/How To Do Stuff/Season 2025/s2025e081200 - Phone That Wants You to Use It Less?! - Mudita Kompakt Review.mp4", false, ~U[2025-08-12 15:00:16Z]] 04:05:46.937 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.937 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 15:01:02Z], 31] 04:05:46.939 [debug] QUERY OK source="media_items" db=1.0ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve spent the past week using the Boox Palma 2 as my main reading companion. I want to share my honest thoughts on the Palma 2. From the design and display, to Android app support, to the Palma 2 battery life, which has been pretty solid for me. I’ll also talk about how it compares to 7inch Boox Go Color 7 Gen 2, as well as Bigme Hibreak Pro, and whether this pocket‑sized form factor is worth it over a larger screen. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX PALMA 2?\n► AMAZON US 🇺🇸: https://amzn.to/3IV29w7\n► BOOX STORE US 🇺🇸: https://shop.boox.com/collections/all/products/palma2?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/476R30W\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/palma2?ref=fjeswspv&variant=51671609409899\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/rnm092nOjSM\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#boox #palma2 #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Boox Palma 2\n00:55 Quick Summary of the Palma 2\n04:07 Design & Build Quality\n05:32 Palma 2 Accessories\n05:48 Display & Reading Comfort\n06:40 Super Boox Refresh (SBR) Technology\n07:34 Reading Experience\n08:14 Reading PDFs\n09:51 Palma 2 vs Hibreak Pro\n11:07 Pricing & Value for Money\n11:26 Palma 2 vs Go Color 7 Gen 2\n12:06 Who the Palma 2 Is For", "1000+ Books in your pocket. Boox Palma 2 Review", "77063ad3-11ef-4d04-a1cb-524f97057d5a", false, 31, [], 813, false, "U45aYH5gwq8", "https://www.youtube.com/watch?v=U45aYH5gwq8", 7, "/downloads/How To Do Stuff/Season 2025/s2025e080100 - 1000+ Books in your pocket. Boox Palma 2 Review.mp4", false, false, 98, ~U[2025-08-01 15:01:02Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’ve spent the past week using the Boox Palma 2 as my main reading companion. I want to share my honest thoughts on the Palma 2. From the design and display, to Android app support, to the Palma 2 battery life, which has been pretty solid for me. I’ll also talk about how it compares to 7inch Boox Go Color 7 Gen 2, as well as Bigme Hibreak Pro, and whether this pocket‑sized form factor is worth it over a larger screen. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX PALMA 2?\n► AMAZON US 🇺🇸: https://amzn.to/3IV29w7\n► BOOX STORE US 🇺🇸: https://shop.boox.com/collections/all/products/palma2?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/476R30W\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/palma2?ref=fjeswspv&variant=51671609409899\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/rnm092nOjSM\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n#boox #palma2 #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Boox Palma 2\n00:55 Quick Summary of the Palma 2\n04:07 Design & Build Quality\n05:32 Palma 2 Accessories\n05:48 Display & Reading Comfort\n06:40 Super Boox Refresh (SBR) Technology\n07:34 Reading Experience\n08:14 Reading PDFs\n09:51 Palma 2 vs Hibreak Pro\n11:07 Pricing & Value for Money\n11:26 Palma 2 vs Go Color 7 Gen 2\n12:06 Who the Palma 2 Is For", "1000+ Books in your pocket. Boox Palma 2 Review", 31, 813, false, "U45aYH5gwq8", "https://www.youtube.com/watch?v=U45aYH5gwq8", "/downloads/How To Do Stuff/Season 2025/s2025e080100 - 1000+ Books in your pocket. Boox Palma 2 Review.mp4", false, ~U[2025-08-01 15:01:02Z]] 04:05:46.939 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.940 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 15:30:19Z], 31] 04:05:46.941 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’ve spent some proper time with the Viwoods Ai Paper and in this video I’m sharing my honest thoughts. This isn’t just another thin and sleek e-ink tablet. The Viwoods Ai Paper surprised me with how powerful and refined it actually is. \nI go over the design, build quality, how it handles note-taking, pricing, performance, whether the AI features actually do anything useful, and how it compares to other eink tablets out there.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting Viwoods Ai Paper? \n► AMAZON US 🇺🇸: https://amzn.to/3Ihw55O\n► VIWOODS STORE US 🇺🇸: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/44Dbn8D\n► VIWOODS STORE EU 🇪🇺: https://viwoods-eu.com/products/viwoods-aipaper?ref=HTDS\n\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other Viwoods videos:\n► https://youtu.be/7nAaza_SCdk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #einktablet #techreview \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods Ai Paper Review\n00:43 Quick Summary\n03:30 Tech Specs\n04:19 Android 13 & Play Store\n05:11 Design and Build Quality\n07:09 Protective Case\n07:32 Stylus and 2 Types of Pen Tips\n08:45 Display\n09:05 Carta 1300 Mobius Flexible Screen\n09:55 Is Lack of Front Light an Issue?\n10:44 Writing Experience\n11:08 Battery Life\n11:49 Battery Test when Reading\n12:15 Battery Test when Writing\n12:48 Interface & Performance\n13:18 Home Screen Explained\n13:55 Viwoods Ai Paper vs Boox Note Max\n14:57 Features I Liked\n15:03 Picking Section Explained\n15:44 Calendar Section Explained\n16:21 Demo: Creating Calendar Events with Voice\n17:40 Different Ways to Import Files\n18:12 Pricing\n18:58 Viwoods Ai Paper vs Boox Go 10.3\n19:14 Viwoods Ai Paper vs Supernote Manta\n19:54 Who Viwoods AiPaper is For?", "Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!", "60280878-a230-4462-90c9-dca99f4206c6", false, 31, [], 1282, false, "dTgDSZvpflM", "https://www.youtube.com/watch?v=dTgDSZvpflM", 8, "/downloads/How To Do Stuff/Season 2025/s2025e071900 - Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!.mp4", false, false, 98, ~U[2025-07-19 15:30:19Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’ve spent some proper time with the Viwoods Ai Paper and in this video I’m sharing my honest thoughts. This isn’t just another thin and sleek e-ink tablet. The Viwoods Ai Paper surprised me with how powerful and refined it actually is. \nI go over the design, build quality, how it handles note-taking, pricing, performance, whether the AI features actually do anything useful, and how it compares to other eink tablets out there.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting Viwoods Ai Paper? \n► AMAZON US 🇺🇸: https://amzn.to/3Ihw55O\n► VIWOODS STORE US 🇺🇸: https://viwoods.com/products/viwoods-aipaper?ref=HTDS\n\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/44Dbn8D\n► VIWOODS STORE EU 🇪🇺: https://viwoods-eu.com/products/viwoods-aipaper?ref=HTDS\n\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other Viwoods videos:\n► https://youtu.be/7nAaza_SCdk\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #einktablet #techreview \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods Ai Paper Review\n00:43 Quick Summary\n03:30 Tech Specs\n04:19 Android 13 & Play Store\n05:11 Design and Build Quality\n07:09 Protective Case\n07:32 Stylus and 2 Types of Pen Tips\n08:45 Display\n09:05 Carta 1300 Mobius Flexible Screen\n09:55 Is Lack of Front Light an Issue?\n10:44 Writing Experience\n11:08 Battery Life\n11:49 Battery Test when Reading\n12:15 Battery Test when Writing\n12:48 Interface & Performance\n13:18 Home Screen Explained\n13:55 Viwoods Ai Paper vs Boox Note Max\n14:57 Features I Liked\n15:03 Picking Section Explained\n15:44 Calendar Section Explained\n16:21 Demo: Creating Calendar Events with Voice\n17:40 Different Ways to Import Files\n18:12 Pricing\n18:58 Viwoods Ai Paper vs Boox Go 10.3\n19:14 Viwoods Ai Paper vs Supernote Manta\n19:54 Who Viwoods AiPaper is For?", "Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!", 31, 1282, false, "dTgDSZvpflM", "https://www.youtube.com/watch?v=dTgDSZvpflM", "/downloads/How To Do Stuff/Season 2025/s2025e071900 - Thin, Smart, and Surprisingly Powerful. Viwoods Ai Paper Review!.mp4", false, ~U[2025-07-19 15:30:19Z]] 04:05:46.941 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.942 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 16:30:22Z], 31] 04:05:46.943 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m breaking down three huge problems happening right now on Amazon that hardly anyone is talking about…but that could seriously affect the future of publishing: AI-generated junk flooding the Kindle store, scammers hijacking copyright tools to wipe out real books, and royalty cuts hitting indie authors’ pockets hard. #amazonkdp #amazonnews #aibots \n\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► ‘Dangerous nonsense’: AI-authored books about ADHD for sale on Amazon: https://www.theguardian.com/technology/2025/may/04/dangerous-nonsense-ai-authored-books-about-adhd-for-sale-on-amazon?utm_source=chatgpt.com\n► Independent Publishing and DMCA Abuse, or “How a Scammer Got My Book Blocked with Very Little Effort”: https://the-active-voice.com/2015/03/01/nolander-blocked-at-amazon-and-smashwords/?utm_source=chatgpt.com\n► Print Royalty Rate and Paperback Printing Cost Changes: https://kdp.amazon.com/en_US/help/topic/GXFPA52P6ZJD2U3N?utm_source=chatgpt.com\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🎬 CHAPTERS\n00:00 Intro to Amazon Problems\n00:35 The AI Book Invasion\n01:23 How AI Hurts Real Authors\n03:17 Con-Artists Hijacking Trademarks\n05:03 Print Book Royalty Cuts\n05:42 The Big Question: Is Amazon Still Supporting Authors?", "Amazon’s Hidden Problems No One Is Talking About", "df50be05-a6fb-497c-8cef-e6e3c011d988", false, 31, [], 413, false, "TiJCiiv89es", "https://www.youtube.com/watch?v=TiJCiiv89es", 9, "/downloads/How To Do Stuff/Season 2025/s2025e070800 - Amazon’s Hidden Problems No One Is Talking About.mp4", false, false, 98, ~U[2025-07-08 16:30:22Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’m breaking down three huge problems happening right now on Amazon that hardly anyone is talking about…but that could seriously affect the future of publishing: AI-generated junk flooding the Kindle store, scammers hijacking copyright tools to wipe out real books, and royalty cuts hitting indie authors’ pockets hard. #amazonkdp #amazonnews #aibots \n\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► ‘Dangerous nonsense’: AI-authored books about ADHD for sale on Amazon: https://www.theguardian.com/technology/2025/may/04/dangerous-nonsense-ai-authored-books-about-adhd-for-sale-on-amazon?utm_source=chatgpt.com\n► Independent Publishing and DMCA Abuse, or “How a Scammer Got My Book Blocked with Very Little Effort”: https://the-active-voice.com/2015/03/01/nolander-blocked-at-amazon-and-smashwords/?utm_source=chatgpt.com\n► Print Royalty Rate and Paperback Printing Cost Changes: https://kdp.amazon.com/en_US/help/topic/GXFPA52P6ZJD2U3N?utm_source=chatgpt.com\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🎬 CHAPTERS\n00:00 Intro to Amazon Problems\n00:35 The AI Book Invasion\n01:23 How AI Hurts Real Authors\n03:17 Con-Artists Hijacking Trademarks\n05:03 Print Book Royalty Cuts\n05:42 The Big Question: Is Amazon Still Supporting Authors?", "Amazon’s Hidden Problems No One Is Talking About", 31, 413, false, "TiJCiiv89es", "https://www.youtube.com/watch?v=TiJCiiv89es", "/downloads/How To Do Stuff/Season 2025/s2025e070800 - Amazon’s Hidden Problems No One Is Talking About.mp4", false, ~U[2025-07-08 16:30:22Z]] 04:05:46.943 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.944 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 16:01:32Z], 31] 04:05:46.948 [debug] QUERY OK source="media_items" db=4.1ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is my honest Boox Go Color 7 Gen 2 review, where I’ll walk you through everything from the design and build quality to real-world battery stats, reading experience, and how it compares to other color devices like the Kobo Libra Colour and Kindle Colorsoft.\nIf you’re trying to figure out whether the Go Color 7 Gen 2 is right for you, whether you really need a color screen, or whether it’s worth upgrading from a basic e-reader, this video should help you make that decision. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX Go Color 7 Gen II?\n► AMAZON US 🇺🇸: https://amzn.to/40oORxA\n► BOOX STORE US 🇺🇸: https://shop.boox.com/products/go7?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/40ndjzq\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/boox-go-color-7-gen-ii?ref=fjeswspv&variant=52007292633451\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/1z9x-TOw2qA\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#boox #einktablet #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Go Color 7 Gen 2 Review\n00:39 Bottom Line Summary\n01:46 Do You Need a Color Screen?\n02:39 Pricing & Value Comparison\n03:47 Go Color 7 vs Kobo Libra Color\n03:56 Go Color 7 vs Kindle Colorsoft\n04:37 Color vs Monochrome Display\n05:20 Design & Build Quality\n07:12 Tech Specs Overview\n08:52 Battery Life & My Test Results\n09:48 Battery Test Results for Reading\n10:47 Reading Experience\n11:16 Page-Turn Buttons & Third-Party Apps\n12:08 Ghosting\n12:36 Writing Experience & Stylus Support\n13:51 Who Is Go Color 7 Gen 2 For?\n14:43 Who Should Avoid This Device?", "Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?", "ee2e3ead-beca-4508-83ce-ae5e1fcadbc5", false, 31, [], 964, false, "rnm092nOjSM", "https://www.youtube.com/watch?v=rnm092nOjSM", 10, "/downloads/How To Do Stuff/Season 2025/s2025e062600 - Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?.mp4", false, false, 98, ~U[2025-06-26 16:01:32Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "This is my honest Boox Go Color 7 Gen 2 review, where I’ll walk you through everything from the design and build quality to real-world battery stats, reading experience, and how it compares to other color devices like the Kobo Libra Colour and Kindle Colorsoft.\nIf you’re trying to figure out whether the Go Color 7 Gen 2 is right for you, whether you really need a color screen, or whether it’s worth upgrading from a basic e-reader, this video should help you make that decision. 🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BOOX Go Color 7 Gen II?\n► AMAZON US 🇺🇸: https://amzn.to/40oORxA\n► BOOX STORE US 🇺🇸: https://shop.boox.com/products/go7?ref=howtodostuff\n► AMAZON UK 🇬🇧: https://amzn.to/40ndjzq\n► BOOX STORE EU 🇪🇺: https://euroshop.boox.com/products/boox-go-color-7-gen-ii?ref=fjeswspv&variant=52007292633451\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BOOX videos:\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/1z9x-TOw2qA\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#boox #einktablet #ereader \n\n🎬 CHAPTERS\n00:00 Intro to Go Color 7 Gen 2 Review\n00:39 Bottom Line Summary\n01:46 Do You Need a Color Screen?\n02:39 Pricing & Value Comparison\n03:47 Go Color 7 vs Kobo Libra Color\n03:56 Go Color 7 vs Kindle Colorsoft\n04:37 Color vs Monochrome Display\n05:20 Design & Build Quality\n07:12 Tech Specs Overview\n08:52 Battery Life & My Test Results\n09:48 Battery Test Results for Reading\n10:47 Reading Experience\n11:16 Page-Turn Buttons & Third-Party Apps\n12:08 Ghosting\n12:36 Writing Experience & Stylus Support\n13:51 Who Is Go Color 7 Gen 2 For?\n14:43 Who Should Avoid This Device?", "Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?", 31, 964, false, "rnm092nOjSM", "https://www.youtube.com/watch?v=rnm092nOjSM", "/downloads/How To Do Stuff/Season 2025/s2025e062600 - Boox Go Color 7 Gen 2 Review - Best Value E-ink Tablet Under $300!?.mp4", false, ~U[2025-06-26 16:01:32Z]] 04:05:46.949 [debug] QUERY OK source="sources" db=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.949 [debug] QUERY OK source="media_items" db=0.3ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 16:00:11Z], 31] 04:05:46.950 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is my honest Viwoods Ai Paper Mini review after spending couple of weeks with it. If you’ve been looking for a compact, no-fuss e ink tablet that still manages to deliver solid performance, this might be worth a look.\nHonestly, Viwoods Ai Paper Mini is one of those compact devices that surprised me. Everything about it is solid: from build quality and design to software and writing/reading experience. Once you start using it, you realize how thoughtful some of the features are, especially if you’re into note-taking, PDFs, or using AI tools to stay productive.\n\n🛒 Thinking of getting Viwoods Ai Paper Mini?\n► AMAZON US 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n► AMAZON UK 🇬🇧: https://amzn.to/4jPkXJU\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #einktablet \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods AiPaper Mini First Look\n00:46 Quick Summary\n02:19 Pricing & 100-Day Trial\n02:56 Viwoods Ai Paper Mini vs. iFLYTEK AiNote Air 2\n03:59 Unboxing\n04:51 Stylus\n05:17 Design & Build Quality\n06:22 Battery Life\n06:46 Battery Test when Reading\n07:15 Battery Test when Writing\n07:41 Display & Refresh Modes\n09:03 Interface & Features\n10:51 Writing Experience\n11:51 AI Tools & Integration\n12:55 Who is Ai Paper Mini for?", "Compact. Clever. Capable. - Viwoods Ai Paper Mini Review", "9e5c63fb-f0c6-4b83-91b9-48e5ab570391", false, 31, [], 966, false, "7nAaza_SCdk", "https://www.youtube.com/watch?v=7nAaza_SCdk", 11, "/downloads/How To Do Stuff/Season 2025/s2025e061200 - Compact. Clever. Capable. - Viwoods Ai Paper Mini Review.mp4", false, false, 98, ~U[2025-06-12 16:00:11Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "This is my honest Viwoods Ai Paper Mini review after spending couple of weeks with it. If you’ve been looking for a compact, no-fuss e ink tablet that still manages to deliver solid performance, this might be worth a look.\nHonestly, Viwoods Ai Paper Mini is one of those compact devices that surprised me. Everything about it is solid: from build quality and design to software and writing/reading experience. Once you start using it, you realize how thoughtful some of the features are, especially if you’re into note-taking, PDFs, or using AI tools to stay productive.\n\n🛒 Thinking of getting Viwoods Ai Paper Mini?\n► AMAZON US 🇺🇸: https://amzn.to/46TGLAR\n► VIWOODS STORE: https://viwoods.com/products/aipaper-mini?ref=HTDS\n► AMAZON UK 🇬🇧: https://amzn.to/4jPkXJU\n\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#viwoods #aipaper #einktablet \n--- Disclaimer ---\nLinks on this site are affiliate links. Affiliate links do not increase your cost, and I only use them for products or services that I'm familiar with and that I feel may deliver value to you.\n\n🎬 CHAPTERS\n00:00 Intro to Viwoods AiPaper Mini First Look\n00:46 Quick Summary\n02:19 Pricing & 100-Day Trial\n02:56 Viwoods Ai Paper Mini vs. iFLYTEK AiNote Air 2\n03:59 Unboxing\n04:51 Stylus\n05:17 Design & Build Quality\n06:22 Battery Life\n06:46 Battery Test when Reading\n07:15 Battery Test when Writing\n07:41 Display & Refresh Modes\n09:03 Interface & Features\n10:51 Writing Experience\n11:51 AI Tools & Integration\n12:55 Who is Ai Paper Mini for?", "Compact. Clever. Capable. - Viwoods Ai Paper Mini Review", 31, 966, false, "7nAaza_SCdk", "https://www.youtube.com/watch?v=7nAaza_SCdk", "/downloads/How To Do Stuff/Season 2025/s2025e061200 - Compact. Clever. Capable. - Viwoods Ai Paper Mini Review.mp4", false, ~U[2025-06-12 16:00:11Z]] 04:05:46.950 [debug] QUERY OK source="sources" db=0.1ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.951 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 15:30:08Z], 31] 04:05:46.952 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m sharing my honest bigme hibreak pro review after taking this e ink phone on a wild bike-packing adventure through Italy. If you’re searching for a minimal phone that outlasts traditional smartphones or wondering whether a dumb phone could still handle essential tasks like GPS navigation and calls, this video is for you. I’ll break down battery stats (which are pretty amazing!), reveal hidden quirks, and show you why this device might be the ultimate adventure companion.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n⚡️Other Bigme videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro review\n01:05 Quick Summary\n01:39 Pricing & Comparison to LCD Smartphones\n02:19 Battery Life Tests\n02:30 Battery Life during GPS Navigation\n03:05 Using Komoot App on Eink screen\n03:30 Battery Life in Standby Mode\n04:20 Reading Battery Tests\n05:35 Build Quality & Design\n06:01 3 Issues with Design\n06:43 Q: Are you missing not having color?\n07:14 Q: Does it connect to Garmin watch?\n07:39 Q: Is there a light bleed from the edges?\n08:08 Q: This is not a minimalist phone!\n09:04 Third-party Apps & Features\n09:51 Android 14 and Bigme Launcher\n10:08 Perfect E-Reading phone?", "There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review)", "15311c6f-fdc0-41db-9364-3836effa8720", false, 31, [], 703, false, "Hb2J-BhY2no", "https://www.youtube.com/watch?v=Hb2J-BhY2no", 12, "/downloads/How To Do Stuff/Season 2025/s2025e052700 - There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review).mp4", false, false, 98, ~U[2025-05-27 15:30:08Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’m sharing my honest bigme hibreak pro review after taking this e ink phone on a wild bike-packing adventure through Italy. If you’re searching for a minimal phone that outlasts traditional smartphones or wondering whether a dumb phone could still handle essential tasks like GPS navigation and calls, this video is for you. I’ll break down battery stats (which are pretty amazing!), reveal hidden quirks, and show you why this device might be the ultimate adventure companion.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n⚡️Other Bigme videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro review\n01:05 Quick Summary\n01:39 Pricing & Comparison to LCD Smartphones\n02:19 Battery Life Tests\n02:30 Battery Life during GPS Navigation\n03:05 Using Komoot App on Eink screen\n03:30 Battery Life in Standby Mode\n04:20 Reading Battery Tests\n05:35 Build Quality & Design\n06:01 3 Issues with Design\n06:43 Q: Are you missing not having color?\n07:14 Q: Does it connect to Garmin watch?\n07:39 Q: Is there a light bleed from the edges?\n08:08 Q: This is not a minimalist phone!\n09:04 Third-party Apps & Features\n09:51 Android 14 and Bigme Launcher\n10:08 Perfect E-Reading phone?", "There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review)", 31, 703, false, "Hb2J-BhY2no", "https://www.youtube.com/watch?v=Hb2J-BhY2no", "/downloads/How To Do Stuff/Season 2025/s2025e052700 - There’s Something Different About THIS E-Ink Smartphone (Bigme Hibreak Pro Review).mp4", false, ~U[2025-05-27 15:30:08Z]] 04:05:46.952 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.953 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-10 16:00:27Z], 31] 04:05:46.954 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m sharing my first impressions of the Bigme HiBreak Pro; the latest e-ink smartphone from Bigme and a follow-up to the previous HiBreak, which I’ve also reviewed here on the channel. I’ve only had it for a couple of days, but I wanted to sit down and give you a quick look at what stood out to me so far. \nI’ll be testing it even more while on bikepacking trip (yep, 450 miles or 600+ kilometers!) and using it in all sorts of real-world conditions - GPS, navigation, and day-to-day tasks. So if there’s anything you’d like me to check or test while I’m on the road, let me know in the comments and I’ll do my best to include it in the full review. #eink #phonereview \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital wallpaper store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BIGME videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro\n00:51 Disclaimer\n01:29 Performance, Buttons & Fingerprint Reader\n02:18 Camera, Apps & Navigation Tests\n03:33 Speakers & Connectivity\n04:54 Display, Build Quality & New Features\n06:20 Can It Be a Daily Driver?", "Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!", "833e1581-cd3d-4fab-8c0c-39fad22f82a9", false, 31, [], 437, false, "BAOC0bmEPZ0", "https://www.youtube.com/watch?v=BAOC0bmEPZ0", 13, "/downloads/How To Do Stuff/Season 2025/s2025e051000 - Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!.mp4", false, false, 98, ~U[2025-05-10 16:00:27Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’m sharing my first impressions of the Bigme HiBreak Pro; the latest e-ink smartphone from Bigme and a follow-up to the previous HiBreak, which I’ve also reviewed here on the channel. I’ve only had it for a couple of days, but I wanted to sit down and give you a quick look at what stood out to me so far. \nI’ll be testing it even more while on bikepacking trip (yep, 450 miles or 600+ kilometers!) and using it in all sorts of real-world conditions - GPS, navigation, and day-to-day tasks. So if there’s anything you’d like me to check or test while I’m on the road, let me know in the comments and I’ll do my best to include it in the full review. #eink #phonereview \n\n🛒 Thinking of getting BIGME Hibreak Pro?\n► AMAZON US 🇺🇸: https://amzn.to/3YFPFgR\n► BIGME STORE: https://store.bigme.vip/products/bigme-epaper-smartphone-hibreak-pro-black-and-white-version?ref=htds\n► AMAZON UK/EU 🇬🇧🇪🇺: https://amzn.to/4m9ANBn\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital wallpaper store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other BIGME videos:\n► https://youtu.be/pMJ_MXq_wlI\n► https://youtu.be/nNFuoBOHdKQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to Bigme Hibreak Pro\n00:51 Disclaimer\n01:29 Performance, Buttons & Fingerprint Reader\n02:18 Camera, Apps & Navigation Tests\n03:33 Speakers & Connectivity\n04:54 Display, Build Quality & New Features\n06:20 Can It Be a Daily Driver?", "Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!", 31, 437, false, "BAOC0bmEPZ0", "https://www.youtube.com/watch?v=BAOC0bmEPZ0", "/downloads/How To Do Stuff/Season 2025/s2025e051000 - Bigme Hibreak Pro First Impressions - Now, THIS could be your daily!.mp4", false, ~U[2025-05-10 16:00:27Z]] 04:05:46.954 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.954 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-04 15:01:19Z], 31] 04:05:46.955 [debug] QUERY OK source="media_items" db=0.9ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you're someone who stares at glowing screens all day (like I used to), this might just help. I didn’t plan to fall in love with an e-ink tablet. I actually bought it out of curiosity, thinking it might just be a cool gadget for reading or note-taking. I’m sharing my honest experience of switching from an LCD tablet to an e-ink screen, and how it helps me with my eyesight. If you've ever wondered about e-ink vs regular screens, especially when it comes to eye strain or focus, this might give you a clearer idea of what to expect.\n\n🔗 LINKS\n► 6 FREE TEMPLATES: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Study \"Comparison of oxidative stress response of in vitro retinal cells exposed to blue light from emissive versus reflective displays\": https://sid.onlinelibrary.wiley.com/doi/epdf/10.1002/jsid.1191\n\n🛒 Thinking of getting XPPen Magic Notepad tablet mentioned in the video?\nXPPen Magic Note Pad DE:\u00A0https://bit.ly/3EbW10k\nXPPen Magic Note Pad US:\u00A0https://bit.ly/4i1MYx3\nXPPen Magic Note Pad UK:\u00A0https://bit.ly/4jfykDm\nGet a 10% discount using the coupon code\u00A0howtotechstuff10, valid until Jun 30th.\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️E-ink reviews:\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/pMJ_MXq_wlI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Why My Eyes Were Struggling\n01:10 The Problem With Regular Screens (LCD, OLED)\n01:38 Discovering E-Ink Devices\n02:49 E-Ink vs Regular Screen\n04:42 E-ink Trade-offs\n05:18 Battery life on LEDs vs E-ink\n07:52 Writing experience on E-ink vs LEDs\n08:51 Focus & Distraction-Free Experience\n09:32 What Changed for Me (And Might Help You Too)", "Why THIS Screen Saved My Eyes (And Might Save Yours Too)", "941ae4ba-0d21-445d-b5e7-379aeca90550", false, 31, [], 677, false, "uPXRQQuwIwM", "https://www.youtube.com/watch?v=uPXRQQuwIwM", 14, "/downloads/How To Do Stuff/Season 2025/s2025e050400 - Why THIS Screen Saved My Eyes (And Might Save Yours Too).mp4", false, false, 98, ~U[2025-05-04 15:01:19Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "If you're someone who stares at glowing screens all day (like I used to), this might just help. I didn’t plan to fall in love with an e-ink tablet. I actually bought it out of curiosity, thinking it might just be a cool gadget for reading or note-taking. I’m sharing my honest experience of switching from an LCD tablet to an e-ink screen, and how it helps me with my eyesight. If you've ever wondered about e-ink vs regular screens, especially when it comes to eye strain or focus, this might give you a clearer idea of what to expect.\n\n🔗 LINKS\n► 6 FREE TEMPLATES: https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n► Study \"Comparison of oxidative stress response of in vitro retinal cells exposed to blue light from emissive versus reflective displays\": https://sid.onlinelibrary.wiley.com/doi/epdf/10.1002/jsid.1191\n\n🛒 Thinking of getting XPPen Magic Notepad tablet mentioned in the video?\nXPPen Magic Note Pad DE:\u00A0https://bit.ly/3EbW10k\nXPPen Magic Note Pad US:\u00A0https://bit.ly/4i1MYx3\nXPPen Magic Note Pad UK:\u00A0https://bit.ly/4jfykDm\nGet a 10% discount using the coupon code\u00A0howtotechstuff10, valid until Jun 30th.\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️E-ink reviews:\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/gRz4_Bo_vig\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/pMJ_MXq_wlI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Why My Eyes Were Struggling\n01:10 The Problem With Regular Screens (LCD, OLED)\n01:38 Discovering E-Ink Devices\n02:49 E-Ink vs Regular Screen\n04:42 E-ink Trade-offs\n05:18 Battery life on LEDs vs E-ink\n07:52 Writing experience on E-ink vs LEDs\n08:51 Focus & Distraction-Free Experience\n09:32 What Changed for Me (And Might Help You Too)", "Why THIS Screen Saved My Eyes (And Might Save Yours Too)", 31, 677, false, "uPXRQQuwIwM", "https://www.youtube.com/watch?v=uPXRQQuwIwM", "/downloads/How To Do Stuff/Season 2025/s2025e050400 - Why THIS Screen Saved My Eyes (And Might Save Yours Too).mp4", false, ~U[2025-05-04 15:01:19Z]] 04:05:46.956 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.956 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-29 15:00:51Z], 31] 04:05:46.957 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I created 6 PDF templates that I personally use on my reMarkable Paper Pro. These include a to-do list, blank, lined, and dotted notepads, plus a 2026 and 2027 monthly planner and habit tracker. They’re simple, clean, and designed to make navigating your notes and projects way easier.\nIf you're looking for free reMarkable templates, custom templates, or just want to boost your productivity with the reMarkable, I hope these tools are helpful. Let me know what you think, and if you have ideas for future templates, drop a comment below!\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n#digitalplannerideas #freetemplates #productivityplanner \n\n🎬 CHAPTERS\n00:00 Intro to 6 Free Templates for reMarkable Paper Pro\n00:37 How these templates work\n01:55 Habit Tracker and Monthly Planner templates\n02:17 How I use these templates", "I Made Something for Your reMarkable Paper Pro. It’s FREE!", "6d4289f8-fdff-4cf7-8664-90405c7bb8ba", false, 31, [], 217, false, "WRCBaz1bFAY", "https://www.youtube.com/watch?v=WRCBaz1bFAY", 15, "/downloads/How To Do Stuff/Season 2025/s2025e042900 - I Made Something for Your reMarkable Paper Pro. It’s FREE!.mp4", false, false, 98, ~U[2025-04-29 15:00:51Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I created 6 PDF templates that I personally use on my reMarkable Paper Pro. These include a to-do list, blank, lined, and dotted notepads, plus a 2026 and 2027 monthly planner and habit tracker. They’re simple, clean, and designed to make navigating your notes and projects way easier.\nIf you're looking for free reMarkable templates, custom templates, or just want to boost your productivity with the reMarkable, I hope these tools are helpful. Let me know what you think, and if you have ideas for future templates, drop a comment below!\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 Get the FREE reMarkable Templates:\n► https://howtotechstuff.com/free-download-5-templates-for-remarkable-paper-pro/\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/47RWe5e\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n#digitalplannerideas #freetemplates #productivityplanner \n\n🎬 CHAPTERS\n00:00 Intro to 6 Free Templates for reMarkable Paper Pro\n00:37 How these templates work\n01:55 Habit Tracker and Monthly Planner templates\n02:17 How I use these templates", "I Made Something for Your reMarkable Paper Pro. It’s FREE!", 31, 217, false, "WRCBaz1bFAY", "https://www.youtube.com/watch?v=WRCBaz1bFAY", "/downloads/How To Do Stuff/Season 2025/s2025e042900 - I Made Something for Your reMarkable Paper Pro. It’s FREE!.mp4", false, ~U[2025-04-29 15:00:51Z]] 04:05:46.957 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.958 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-22 15:01:18Z], 31] 04:05:46.959 [debug] QUERY OK source="media_items" db=0.8ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you've been curious about the Bigme B1051 Series, especially the Bigme B1051C, this video is for you. I spent few weeks with the B1051 Bigme and wanted to share my honest thoughts; not just the specs, but also what it's actually like to use it day-to-day. If you're new to Bigme devices or trying to decide if Bigme 1051C is worth it, I’ll walk you through what stood out (spoiler alert: battery is exceptional), what could be better, and who I think this device is really for.\n\n🛒 Thinking of purchasing BIGME B1051?\n► AMAZON US 🇺🇸 (Bigme B1051C): https://amzn.to/4jiF5oe\n► AMAZON US 🇺🇸 (Bigme B1051C-Pro): https://amzn.to/4lXduLl\n► AMAZON UK/EU 🇬🇧🇪🇺 (Bigme B1051C): https://amzn.to/3ExLZqy\n► BIGME STORE: https://store.bigme.vip/products/b1051-series-10-3-color-e-ink-tablet-pc-with-cutting-edge-performance?ref=htds&variant=44294274449587\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other E-ink Reviews:\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/j_E2mhBxPZQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#Bigme #BigmeB1051C #B1051Series #EInkTablet #ColorEInk\n\n🎬 CHAPTERS\n00:00 Intro to Bigme B1051C Review\n01:00 Quick Thoughts\n02:17 Tech Specs\n03:00 Kaleido 3 Display Explained\n05:50 Pricing of B1051 Lineup\n07:59 Build Quality\n08:52 Design Features\n09:54 Stylus\n10:50 Reading Experience\n12:14 Writing Experience\n12:58 Performance\n13:20 Global Handwriting Feature\n13:56 Battery Life\n14:08 Battery Usage - Reading Tests\n14:46 Battery Usage - Writing Tests\n15:28 Interesting Features\n15:48 Real-time voice transcription DEMO\n17:02 AI Transcription Summary\n17:30 Document Scanning and OCR\n17:52 Handwriting to text Conversion\n18:06 BigmeGPT\n18:31 Keyboard folio\n19:09 Who Is This Device For?", "I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review", "26e02efb-1cc0-4658-b52d-5c555c5513b9", false, 31, [], 1241, false, "pMJ_MXq_wlI", "https://www.youtube.com/watch?v=pMJ_MXq_wlI", 16, "/downloads/How To Do Stuff/Season 2025/s2025e042200 - I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review.mp4", false, false, 98, ~U[2025-04-22 15:01:18Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "If you've been curious about the Bigme B1051 Series, especially the Bigme B1051C, this video is for you. I spent few weeks with the B1051 Bigme and wanted to share my honest thoughts; not just the specs, but also what it's actually like to use it day-to-day. If you're new to Bigme devices or trying to decide if Bigme 1051C is worth it, I’ll walk you through what stood out (spoiler alert: battery is exceptional), what could be better, and who I think this device is really for.\n\n🛒 Thinking of purchasing BIGME B1051?\n► AMAZON US 🇺🇸 (Bigme B1051C): https://amzn.to/4jiF5oe\n► AMAZON US 🇺🇸 (Bigme B1051C-Pro): https://amzn.to/4lXduLl\n► AMAZON UK/EU 🇬🇧🇪🇺 (Bigme B1051C): https://amzn.to/3ExLZqy\n► BIGME STORE: https://store.bigme.vip/products/b1051-series-10-3-color-e-ink-tablet-pc-with-cutting-edge-performance?ref=htds&variant=44294274449587\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚡️Other E-ink Reviews:\n► https://youtu.be/buqNwOwGZMk\n► https://youtu.be/SZ7gIGM3DcI\n► https://youtu.be/j_E2mhBxPZQ\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n#Bigme #BigmeB1051C #B1051Series #EInkTablet #ColorEInk\n\n🎬 CHAPTERS\n00:00 Intro to Bigme B1051C Review\n01:00 Quick Thoughts\n02:17 Tech Specs\n03:00 Kaleido 3 Display Explained\n05:50 Pricing of B1051 Lineup\n07:59 Build Quality\n08:52 Design Features\n09:54 Stylus\n10:50 Reading Experience\n12:14 Writing Experience\n12:58 Performance\n13:20 Global Handwriting Feature\n13:56 Battery Life\n14:08 Battery Usage - Reading Tests\n14:46 Battery Usage - Writing Tests\n15:28 Interesting Features\n15:48 Real-time voice transcription DEMO\n17:02 AI Transcription Summary\n17:30 Document Scanning and OCR\n17:52 Handwriting to text Conversion\n18:06 BigmeGPT\n18:31 Keyboard folio\n19:09 Who Is This Device For?", "I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review", 31, 1241, false, "pMJ_MXq_wlI", "https://www.youtube.com/watch?v=pMJ_MXq_wlI", "/downloads/How To Do Stuff/Season 2025/s2025e042200 - I Almost Ignored This Tablet...And That Would Have Been a HUGE Mistake! Bigme B1051C Review.mp4", false, ~U[2025-04-22 15:01:18Z]] 04:05:46.959 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.959 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 15:01:23Z], 31] 04:05:46.960 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["New 3.19 beta update for the reMarkable Paper Pro got released and I’m running a full battery test to see how the new Extra Bright mode affects power consumption.\n\nI’ll walk you through all three new features in this update, including the small UI tweaks, the improved grid view, and a handy shortcut I discovered that might’ve been hiding in plain sight. But the main focus here is the brightness increase; and whether the trade-off in battery life is actually worth it.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro & What’s New in 3.19\n00:43 Small Changes & Handy Shortcut\n01:46 Extra Bright Mode Explained\n02:30 Full Battery Test Results", "3.19 Update for reMarkable Paper Pro: Full Battery Test Results", "2bb78744-ed25-4fe3-aa01-56f1faa9bf04", false, 31, [], 254, false, "rVOW309GMpw", "https://www.youtube.com/watch?v=rVOW309GMpw", 17, "/downloads/How To Do Stuff/Season 2025/s2025e041700 - 3.19 Update for reMarkable Paper Pro: Full Battery Test Results.mp4", false, false, 98, ~U[2025-04-17 15:01:23Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "New 3.19 beta update for the reMarkable Paper Pro got released and I’m running a full battery test to see how the new Extra Bright mode affects power consumption.\n\nI’ll walk you through all three new features in this update, including the small UI tweaks, the improved grid view, and a handy shortcut I discovered that might’ve been hiding in plain sight. But the main focus here is the brightness increase; and whether the trade-off in battery life is actually worth it.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro & What’s New in 3.19\n00:43 Small Changes & Handy Shortcut\n01:46 Extra Bright Mode Explained\n02:30 Full Battery Test Results", "3.19 Update for reMarkable Paper Pro: Full Battery Test Results", 31, 254, false, "rVOW309GMpw", "https://www.youtube.com/watch?v=rVOW309GMpw", "/downloads/How To Do Stuff/Season 2025/s2025e041700 - 3.19 Update for reMarkable Paper Pro: Full Battery Test Results.mp4", false, ~U[2025-04-17 15:01:23Z]] 04:05:46.960 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.961 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-15 15:00:34Z], 31] 04:05:46.962 [debug] QUERY OK source="media_items" db=0.8ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I’m testing out the iFLYTEK AINOTE Air 2 to see how good it really is for note-taking, handwriting-to-text conversion, and AI-powered voice recording capabilities. I was curious to test how smart the AI actually is when converting speech and handwriting into editable text. I didn’t know much about iFLYTEK before this, so I went in a little skeptical….but some of the stuff actually surprised me.\nIf you’re wondering how this device handles everyday tasks like writing notes, organizing thoughts, or even syncing across devices, I’ll walk you through all of that based on real-world use. I also take a look at how it compares to other digital notebooks I’ve tested.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of purchasing iFLYTEK AINOTE Air2?\n► AMAZON US 🇺🇸: https://amzn.to/4kFTafL\n► iFLYTEK STORE: https://store.iflytek.com/products/iflytek-ainote-air-2?utm_source=kol&utm_medium=ytbofficial&utm_campaign=HowToDoStuff\n► AMAZON UK/EU 🇬🇧🇪🇺 : https://amzn.to/4ltr5tg\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ Need a new wallpaper? https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n #iFLYTEKAINOTEAir2 #iFLYTEK #eink #einktablet #digitalplanner #productivity\n\n🎬 CHAPTERS\n00:00 Intro to iFLYTEK AINOTE Air 2 Review\n00:57 Tech Specs\n02:19 Design & Build Quality\n02:59 Protective Case\n03:38 Iflytek vs Remarkable Size Comparison\n03:53 Stylus\n04:48 Display\n06:07 AI Capabilities\n06:34 AI Voice-to-text Transcription Demo\n07:48 AI Summary\n08:06 AI Search\n08:17 Performance\n09:10 Battery Performance\n09:31 Battery Tests for Reading\n10:06 Battery Tests for Writing\n10:42 Writing Experience\n11:30 Handwriting-to-text Conversion\n12:09 Reading Experience\n13:02 Ways to Import Files\n13:53 Swipe Gestures\n14:44 Scanning Documents with Camera\n14:57 AINOTE App\n15:22 Handwriting Search\n16:11 Who is iFLYTEK Air 2 for?\n17:43 Who should avoid iFLYTEK Air2?", "iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?", "6db881f1-d589-42ac-ac4a-52393e01511f", false, 31, [], 1155, false, "IABj8xuXI0Q", "https://www.youtube.com/watch?v=IABj8xuXI0Q", 18, "/downloads/How To Do Stuff/Season 2025/s2025e041500 - iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?.mp4", false, false, 98, ~U[2025-04-15 15:00:34Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I’m testing out the iFLYTEK AINOTE Air 2 to see how good it really is for note-taking, handwriting-to-text conversion, and AI-powered voice recording capabilities. I was curious to test how smart the AI actually is when converting speech and handwriting into editable text. I didn’t know much about iFLYTEK before this, so I went in a little skeptical….but some of the stuff actually surprised me.\nIf you’re wondering how this device handles everyday tasks like writing notes, organizing thoughts, or even syncing across devices, I’ll walk you through all of that based on real-world use. I also take a look at how it compares to other digital notebooks I’ve tested.\n🫡 SUBSCRIBE @howtotechstuff \n\n🛒 Thinking of purchasing iFLYTEK AINOTE Air2?\n► AMAZON US 🇺🇸: https://amzn.to/4kFTafL\n► iFLYTEK STORE: https://store.iflytek.com/products/iflytek-ainote-air-2?utm_source=kol&utm_medium=ytbofficial&utm_campaign=HowToDoStuff\n► AMAZON UK/EU 🇬🇧🇪🇺 : https://amzn.to/4ltr5tg\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ Need a new wallpaper? https://buymeacoffee.com/howtodostuff/extras\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n #iFLYTEKAINOTEAir2 #iFLYTEK #eink #einktablet #digitalplanner #productivity\n\n🎬 CHAPTERS\n00:00 Intro to iFLYTEK AINOTE Air 2 Review\n00:57 Tech Specs\n02:19 Design & Build Quality\n02:59 Protective Case\n03:38 Iflytek vs Remarkable Size Comparison\n03:53 Stylus\n04:48 Display\n06:07 AI Capabilities\n06:34 AI Voice-to-text Transcription Demo\n07:48 AI Summary\n08:06 AI Search\n08:17 Performance\n09:10 Battery Performance\n09:31 Battery Tests for Reading\n10:06 Battery Tests for Writing\n10:42 Writing Experience\n11:30 Handwriting-to-text Conversion\n12:09 Reading Experience\n13:02 Ways to Import Files\n13:53 Swipe Gestures\n14:44 Scanning Documents with Camera\n14:57 AINOTE App\n15:22 Handwriting Search\n16:11 Who is iFLYTEK Air 2 for?\n17:43 Who should avoid iFLYTEK Air2?", "iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?", 31, 1155, false, "IABj8xuXI0Q", "https://www.youtube.com/watch?v=IABj8xuXI0Q", "/downloads/How To Do Stuff/Season 2025/s2025e041500 - iFLYTEK AINOTE Air 2 Review: Best AI E-Ink Tablet for Real-World Use?.mp4", false, ~U[2025-04-15 15:00:34Z]] 04:05:46.962 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.962 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 15:30:30Z], 31] 04:05:46.963 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I will show you all the reMarkable Paper Pro gestures; yes, every single one I could find. These RPP gestures are designed to make using your e-ink faster, smoother, and honestly, way more fun. \nI know the remarkable paper pro already has a guide for some of these, but let’s be real... most of us don’t sit down and read through manuals. That’s why I made this video; to show you how it all works, and hopefully help you remember them by seeing them in action.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Experimental Gestures & Options (Reddit): https://www.reddit.com/r/RemarkableTablet/comments/1hhxzh5/some_experimental_options_i_discovered/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to RPP gestures\n00:10 Why Gestures Matter on reMarkable Paper Pro\n00:50 Editing Gestures\n01:30 Navigation Gestures\n02:18 Shortcut Gestures\n03:26 Typed Text Gestures\n03:49 Experimental Gestures", "Learn These reMarkable Gestures Once - Use Them Forever!", "6a25c4e0-6f89-4a02-b146-bb1b67709165", false, 31, [], 303, false, "sP_T1d5oBWw", "https://www.youtube.com/watch?v=sP_T1d5oBWw", 19, "/downloads/How To Do Stuff/Season 2025/s2025e040500 - Learn These reMarkable Gestures Once - Use Them Forever!.mp4", false, false, 98, ~U[2025-04-05 15:30:30Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I will show you all the reMarkable Paper Pro gestures; yes, every single one I could find. These RPP gestures are designed to make using your e-ink faster, smoother, and honestly, way more fun. \nI know the remarkable paper pro already has a guide for some of these, but let’s be real... most of us don’t sit down and read through manuals. That’s why I made this video; to show you how it all works, and hopefully help you remember them by seeing them in action.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Experimental Gestures & Options (Reddit): https://www.reddit.com/r/RemarkableTablet/comments/1hhxzh5/some_experimental_options_i_discovered/\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n☕️ Want to buy me a coffee? https://buymeacoffee.com/howtodostuff\n🖼️ My digital artwork store: https://buymeacoffee.com/howtodostuff/extras\n⭐️ Support my work via Youtube membership:\nhttps://www.youtube.com/channel/UCWb40FwBq3m8JBljAcwu7EA/join\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to RPP gestures\n00:10 Why Gestures Matter on reMarkable Paper Pro\n00:50 Editing Gestures\n01:30 Navigation Gestures\n02:18 Shortcut Gestures\n03:26 Typed Text Gestures\n03:49 Experimental Gestures", "Learn These reMarkable Gestures Once - Use Them Forever!", 31, 303, false, "sP_T1d5oBWw", "https://www.youtube.com/watch?v=sP_T1d5oBWw", "/downloads/How To Do Stuff/Season 2025/s2025e040500 - Learn These reMarkable Gestures Once - Use Them Forever!.mp4", false, ~U[2025-04-05 15:30:30Z]] 04:05:46.964 [debug] QUERY OK source="sources" db=0.3ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:05:46.964 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-29 19:00:03Z], 31] 04:05:46.975 [debug] QUERY OK source="media_items" db=10.5ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I've been using the reMarkable Paper Pro for over six months now and I have some honest thoughts to share. In this long-term review, I’ll dive into why despite trying other devices I keep coming back to this E-Ink tablet.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Why deep thought matters: Defending focus in a distracted world: https://remarkable.com/using-remarkable/inspiration/why-deep-thought-matters-defending-focus-in-a-distracted-world\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro review\n00:17 Initial Hesitations & My Evolving Perspective\n00:58 The \"Quiet\" Factor & Morning Journaling\n02:24 Size Matters: Reading and Portability\n03:29 Addressing the Flickering\n04:05 Color Screen on Paper Pro\n04:39 Touch Responsiveness\n05:11 Standard Marker\n05:32 Marker Plus: Worth the Upgrade?\n06:06 Build Quality & Sturdiness\n06:38 Battery Life Realities\n07:09 Backlight: A Missed Opportunity?\n08:00 PDF/ePub Annotation: A Visual Boost\n08:20 Final Thoughts & Who is it For?", "reMarkable Paper Pro Long-Term Review - I Thought I’d Switch, But I Keep Coming Back", "db1393bb-bd1e-4785-9331-686da4d67dcc", false, 31, [], 587, false, "45gmAtA8QZ4", "https://www.youtube.com/watch?v=45gmAtA8QZ4", 20, "/downloads/How To Do Stuff/Season 2025/s2025e032900 - reMarkable Paper Pro Long-Term Review - I Thought I’d Switch, But I Keep Coming Back.mp4", false, false, 98, ~U[2025-03-29 19:00:03Z], ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], "I've been using the reMarkable Paper Pro for over six months now and I have some honest thoughts to share. In this long-term review, I’ll dive into why despite trying other devices I keep coming back to this E-Ink tablet.\n🫡 SUBSCRIBE @howtotechstuff \n\n🔗 LINKS\n► Why deep thought matters: Defending focus in a distracted world: https://remarkable.com/using-remarkable/inspiration/why-deep-thought-matters-defending-focus-in-a-distracted-world\n\n🛒 Thinking of buying REMARKABLE PAPER PRO?\n► AMAZON US 🇺🇸: https://amzn.to/4ivbKXd\n► AMAZON EU 🇬🇧🇪🇺: https://amzn.to/3Ra9RDj\n► REMARKABLE STORE: https://remarkable.com/store/configure/remarkable-paper-pro\n\n⚡️Other REMARKABLE videos:\n► https://youtu.be/EJ_pFvonToc\n► https://youtu.be/ulVTH6yjTF8\n► https://youtu.be/X1nK0Htgcco\n► https://youtu.be/SZ7gIGM3DcI\n\n⚙️ My Gear & Favourite Equipment: \nAmazon US 🇺🇸: https://www.amazon.com/shop/howtodostuff\nAmazon UK/EU 🇬🇧🇪🇺: https://www.amazon.co.uk/shop/howtodostuff\n\n🎬 CHAPTERS\n00:00 Intro to reMarkable Paper Pro review\n00:17 Initial Hesitations & My Evolving Perspective\n00:58 The \"Quiet\" Factor & Morning Journaling\n02:24 Size Matters: Reading and Portability\n03:29 Addressing the Flickering\n04:05 Color Screen on Paper Pro\n04:39 Touch Responsiveness\n05:11 Standard Marker\n05:32 Marker Plus: Worth the Upgrade?\n06:06 Build Quality & Sturdiness\n06:38 Battery Life Realities\n07:09 Backlight: A Missed Opportunity?\n08:00 PDF/ePub Annotation: A Visual Boost\n08:20 Final Thoughts & Who is it For?", "reMarkable Paper Pro Long-Term Review - I Thought I’d Switch, But I Keep Coming Back", 31, 587, false, "45gmAtA8QZ4", "https://www.youtube.com/watch?v=45gmAtA8QZ4", "/downloads/How To Do Stuff/Season 2025/s2025e032900 - reMarkable Paper Pro Long-Term Review - I Thought I’d Switch, But I Keep Coming Back.mp4", false, ~U[2025-03-29 19:00:03Z]] 04:05:46.976 [debug] QUERY OK source="sources" db=0.1ms idle=12.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z], 31] 04:05:46.976 [debug] QUERY OK source="media_items" db=0.4ms idle=12.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:05:46.977 [debug] QUERY OK source="media_items" db=0.3ms idle=12.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:05:46.977 [debug] QUERY OK source="media_items" db=0.1ms idle=12.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:05:46.978 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133837, 31, ~U[2026-08-05 02:05:46Z], ~U[2026-08-05 02:05:46Z]] 04:05:46.978 [info] {"args":{"id":31},"id":133329,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":22763360,"event":"job:stop","queue_time":904595,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:05:47.030 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.423 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:17.032 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:47.033 [info] {"source":"oban","duration":1146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.424 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:17.036 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:47.038 [info] {"source":"oban","duration":2532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.425 [info] {"source":"oban","duration":116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:17.040 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:47.042 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.426 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:17.045 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 04:09:47.047 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 04:10:00.427 [info] {"source":"oban","duration":113,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:17.049 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:47.052 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.428 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:17.053 [info] {"source":"oban","duration":1050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:47.056 [info] {"source":"oban","duration":2493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.429 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:17.059 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:47.061 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.430 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:17.063 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 04:13:47.065 [info] {"source":"oban","duration":2495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.431 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:17.068 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:31.774 [info] {"args":{"id":4336580},"id":133376,"meta":{},"system_time":1785896071774902271,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:14:31.775 [debug] QUERY OK source="media_items" db=0.2ms idle=909.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4336580] 04:14:31.775 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:14:31.775 [debug] QUERY OK source="sources" db=0.1ms idle=909.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 04:14:31.775 [debug] QUERY OK source="media_profiles" db=0.1ms idle=910.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:14:31.776 [debug] QUERY OK source="media_items" db=0.3ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4336580] 04:14:31.786 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4336580] 04:14:31.786 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:14:31.787 [debug] QUERY OK source="settings" db=0.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:14:31.787 [debug] QUERY OK source="settings" db=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:14:31.787 [debug] Running yt-dlp command for action: get_downloadable_status 04:14:31.787 [debug] QUERY OK source="settings" db=0.0ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:14:31.787 [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 [] 04:14:31.788 [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 [] 04:14:31.788 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/aa/97aa9df03399e9b9d4f106e07d24bc8c60c83212c07ced194931cf2a3203a742.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:14:33.546 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/aa/97aa9df03399e9b9d4f106e07d24bc8c60c83212c07ced194931cf2a3203a742.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more 04:14:33.546 [error] yt-dlp download error for media item #4336580: "WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more\n" 04:14:33.547 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4336580},"id":133376,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1771801,"event":"job:exception","queue_time":168280,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:14:47.070 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.432 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:17.071 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:47.073 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.433 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:17.076 [info] {"source":"oban","duration":2098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:47.078 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.434 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:17.081 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:47.083 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.435 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:17.084 [info] {"source":"oban","duration":1172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:47.086 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.436 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:17.088 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:41.086 [info] {"args":{"id":55},"id":133330,"meta":{},"system_time":1785896381086644771,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:19:41.087 [debug] QUERY OK source="sources" db=0.2ms idle=221.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:41.087 [debug] QUERY OK source="settings" db=0.1ms idle=221.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.097 [debug] QUERY OK source="media_items" db=9.9ms idle=7.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [55] 04:19:41.098 [debug] QUERY OK source="media_items" db=0.6ms idle=11.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [55] 04:19:41.098 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:41.098 [debug] QUERY OK source="settings" db=0.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.099 [debug] QUERY OK source="settings" db=0.0ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.100 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [55] 04:19:41.101 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:19:41.101 [debug] Current batch of media processed. Will check again in 1000ms 04:19:41.101 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.102 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.102 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:19:41.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Boylei --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Boylei Hobby Time/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0d/ab/0dab5b084b0db71e399d3072b350995b7372b2629b1496ce479b4c0825b1334d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/de/4b/de4b879b0c709cdd9d1ae2e267d46fb9f162a63163f069b4d764d41fa1be09c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:19:42.102 [debug] Current batch of media processed. Will check again in 1000ms 04:19:43.103 [debug] Current batch of media processed. Will check again in 1000ms 04:19:44.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We’re back in the WIW this week with a diorama featuring a prospector and his donkey. Below them emerges a giant arachnid danger.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 680, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e080200 - The Prospector and the Giant Spider.mp4", "id" => "4rdrzq3sEaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4rdrzq3sEaw", "playlist_index" => 1, "timestamp" => 1785680066, "title" => "The Prospector and the Giant Spider", "upload_date" => "20260802"} 04:19:44.104 [debug] QUERY OK source="sources" db=0.0ms idle=1239.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:44.105 [debug] QUERY OK source="sources" db=0.0ms idle=1022.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:44.105 [debug] QUERY OK source="media_items" db=0.1ms idle=1017.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 14:14:26Z], 55] 04:19:44.106 [debug] QUERY OK source="media_items" db=0.6ms idle=22.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We’re back in the WIW this week with a diorama featuring a prospector and his donkey. Below them emerges a giant arachnid danger.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "The Prospector and the Giant Spider", "5d0a69c5-f14a-43d3-a10a-9e35e8db5964", false, 55, [], 680, false, "4rdrzq3sEaw", "https://www.youtube.com/watch?v=4rdrzq3sEaw", 1, "/downloads/Boylei Hobby Time/Season 2026/s2026e080200 - The Prospector and the Giant Spider.mp4", false, false, 98, ~U[2026-08-02 14:14:26Z], ~U[2026-08-05 02:19:44Z], ~U[2026-08-05 02:19:44Z], "We’re back in the WIW this week with a diorama featuring a prospector and his donkey. Below them emerges a giant arachnid danger.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "The Prospector and the Giant Spider", 55, 680, false, "4rdrzq3sEaw", "https://www.youtube.com/watch?v=4rdrzq3sEaw", "/downloads/Boylei Hobby Time/Season 2026/s2026e080200 - The Prospector and the Giant Spider.mp4", false, ~U[2026-08-02 14:14:26Z]] 04:19:44.106 [debug] QUERY OK source="sources" db=0.1ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:44.106 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:44.106 [debug] QUERY OK source="media_items" db=0.1ms idle=1.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5245503] 04:19:44.107 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It’s been a long while since I’ve added to my western town. I’ll explain why in this video as well as give an update and plans for the future! \n\nCheck out my 1:1 scale props here: https://youtube.com/playlist?list=PLEbBeAx4wJ9w&si=H-iN_SGxZXPUt4mM\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 755, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e072600 - My Wild Western Town.mp4", "id" => "THveRQ56-qs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=THveRQ56-qs", "playlist_index" => 2, "timestamp" => 1785070807, "title" => "My Wild Western Town", "upload_date" => "20260726"} 04:19:44.107 [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" IN (?)) [55] 04:19:44.107 [debug] QUERY OK source="sources" db=0.0ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:44.108 [debug] QUERY OK source="media_items" db=0.5ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:00:07Z], 55] 04:19:44.118 [debug] QUERY OK source="media_items" db=9.8ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It’s been a long while since I’ve added to my western town. I’ll explain why in this video as well as give an update and plans for the future! \n\nCheck out my 1:1 scale props here: https://youtube.com/playlist?list=PLEbBeAx4wJ9w&si=H-iN_SGxZXPUt4mM\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "My Wild Western Town", "008c0a22-c9db-4f2d-8684-e7513289c359", false, 55, [], 755, false, "THveRQ56-qs", "https://www.youtube.com/watch?v=THveRQ56-qs", 2, "/downloads/Boylei Hobby Time/Season 2026/s2026e072600 - My Wild Western Town.mp4", false, false, 98, ~U[2026-07-26 13:00:07Z], ~U[2026-08-05 02:19:44Z], ~U[2026-08-05 02:19:44Z], "It’s been a long while since I’ve added to my western town. I’ll explain why in this video as well as give an update and plans for the future! \n\nCheck out my 1:1 scale props here: https://youtube.com/playlist?list=PLEbBeAx4wJ9w&si=H-iN_SGxZXPUt4mM\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "My Wild Western Town", 55, 755, false, "THveRQ56-qs", "https://www.youtube.com/watch?v=THveRQ56-qs", "/downloads/Boylei Hobby Time/Season 2026/s2026e072600 - My Wild Western Town.mp4", false, ~U[2026-07-26 13:00:07Z]] 04:19:44.118 [debug] QUERY OK source="sources" db=0.2ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:44.118 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:44.119 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218564] 04:19:44.119 [debug] Current batch of media processed. Will check again in 1000ms 04:19:45.119 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was recently asked by @SpinMasterHQ and @PAWPatrolOfficial to build a diorama for this year’s San Diego Comic Con. If you happen to be attending, make sure to go say hi at the SpinMaster booth!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 914, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e071900 - Dino Island Diorama | Custom Toy Makeover!.mp4", "id" => "kdi28mpi3wM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kdi28mpi3wM", "playlist_index" => 3, "timestamp" => 1784466017, "title" => "Dino Island Diorama | Custom Toy Makeover!", "upload_date" => "20260719"} 04:19:45.119 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:45.120 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:45.121 [debug] QUERY OK source="media_items" db=0.8ms idle=1001.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 13:00:17Z], 55] 04:19:45.123 [debug] QUERY OK source="media_items" db=1.8ms idle=37.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I was recently asked by @SpinMasterHQ and @PAWPatrolOfficial to build a diorama for this year’s San Diego Comic Con. If you happen to be attending, make sure to go say hi at the SpinMaster booth!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Dino Island Diorama | Custom Toy Makeover!", "ea5441a1-da9b-4c8d-92e9-6da2bf6ed477", false, 55, [], 914, false, "kdi28mpi3wM", "https://www.youtube.com/watch?v=kdi28mpi3wM", 3, "/downloads/Boylei Hobby Time/Season 2026/s2026e071900 - Dino Island Diorama | Custom Toy Makeover!.mp4", false, false, 98, ~U[2026-07-19 13:00:17Z], ~U[2026-08-05 02:19:45Z], ~U[2026-08-05 02:19:45Z], "I was recently asked by @SpinMasterHQ and @PAWPatrolOfficial to build a diorama for this year’s San Diego Comic Con. If you happen to be attending, make sure to go say hi at the SpinMaster booth!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Dino Island Diorama | Custom Toy Makeover!", 55, 914, false, "kdi28mpi3wM", "https://www.youtube.com/watch?v=kdi28mpi3wM", "/downloads/Boylei Hobby Time/Season 2026/s2026e071900 - Dino Island Diorama | Custom Toy Makeover!.mp4", false, ~U[2026-07-19 13:00:17Z]] 04:19:45.123 [debug] QUERY OK source="sources" db=0.1ms idle=33.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:45.123 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:45.123 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5191698] 04:19:45.124 [debug] Current batch of media processed. Will check again in 1000ms 04:19:46.124 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I make a battle diorama featuring miniatures from Games Workshop’s Middle Earth line. I explain my process as I go!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 624, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e071200 - I Made a LOTR Battle Diorama.mp4", "id" => "ckul5BZBtkk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ckul5BZBtkk", "playlist_index" => 4, "timestamp" => 1783861220, "title" => "I Made a LOTR Battle Diorama", "upload_date" => "20260712"} 04:19:46.124 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:46.125 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:46.125 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 13:00:20Z], 55] 04:19:46.135 [debug] QUERY OK source="media_items" db=9.9ms idle=40.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I make a battle diorama featuring miniatures from Games Workshop’s Middle Earth line. I explain my process as I go!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "I Made a LOTR Battle Diorama", "23776c77-3e09-433f-9a37-87a58e1854b6", false, 55, [], 624, false, "ckul5BZBtkk", "https://www.youtube.com/watch?v=ckul5BZBtkk", 4, "/downloads/Boylei Hobby Time/Season 2026/s2026e071200 - I Made a LOTR Battle Diorama.mp4", false, false, 98, ~U[2026-07-12 13:00:20Z], ~U[2026-08-05 02:19:46Z], ~U[2026-08-05 02:19:46Z], "In this video, I make a battle diorama featuring miniatures from Games Workshop’s Middle Earth line. I explain my process as I go!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "I Made a LOTR Battle Diorama", 55, 624, false, "ckul5BZBtkk", "https://www.youtube.com/watch?v=ckul5BZBtkk", "/downloads/Boylei Hobby Time/Season 2026/s2026e071200 - I Made a LOTR Battle Diorama.mp4", false, ~U[2026-07-12 13:00:20Z]] 04:19:46.136 [debug] QUERY OK source="sources" db=0.1ms idle=45.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:46.136 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:46.136 [debug] QUERY OK source="media_items" db=0.1ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5164664] 04:19:46.136 [debug] Current batch of media processed. Will check again in 1000ms 04:19:47.090 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:47.137 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I made two dragons fighting each other on top of an off-kilter pedestal. One of them appears to be flying.\n\nSome of my patrons made projects of their own!\nCheck out this video from @spencerquaid - https://www.youtube.com/watch?v=fhIeB6BSUoc\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 851, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e070500 - How to Make a Dragon Battle Diorama.mp4", "id" => "iRzGTH9ljq0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iRzGTH9ljq0", "playlist_index" => 5, "timestamp" => 1783256429, "title" => "How to Make a Dragon Battle Diorama", "upload_date" => "20260705"} 04:19:47.137 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:47.138 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:47.138 [debug] QUERY OK source="media_items" db=0.5ms idle=52.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 13:00:29Z], 55] 04:19:47.149 [debug] QUERY OK source="media_items" db=10.0ms idle=48.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I made two dragons fighting each other on top of an off-kilter pedestal. One of them appears to be flying.\n\nSome of my patrons made projects of their own!\nCheck out this video from @spencerquaid - https://www.youtube.com/watch?v=fhIeB6BSUoc\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Dragon Battle Diorama", "5cc6bf00-4747-4603-bd98-2de07903acfe", false, 55, [], 851, false, "iRzGTH9ljq0", "https://www.youtube.com/watch?v=iRzGTH9ljq0", 5, "/downloads/Boylei Hobby Time/Season 2026/s2026e070500 - How to Make a Dragon Battle Diorama.mp4", false, false, 98, ~U[2026-07-05 13:00:29Z], ~U[2026-08-05 02:19:47Z], ~U[2026-08-05 02:19:47Z], "I made two dragons fighting each other on top of an off-kilter pedestal. One of them appears to be flying.\n\nSome of my patrons made projects of their own!\nCheck out this video from @spencerquaid - https://www.youtube.com/watch?v=fhIeB6BSUoc\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Dragon Battle Diorama", 55, 851, false, "iRzGTH9ljq0", "https://www.youtube.com/watch?v=iRzGTH9ljq0", "/downloads/Boylei Hobby Time/Season 2026/s2026e070500 - How to Make a Dragon Battle Diorama.mp4", false, ~U[2026-07-05 13:00:29Z]] 04:19:47.149 [debug] QUERY OK source="sources" db=0.1ms idle=57.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:47.149 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:47.149 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5138306] 04:19:47.149 [debug] Current batch of media processed. Will check again in 1000ms 04:19:48.150 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama of some unfortunate guys who got surrounded by a swarm of Lightning Bugs.\n\nThe WIW RPG is almost ready to ship! If you want to order a copy, go to: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nFireflies by KIDZ BOP Kids, https://t.lickd.co/l/DEoOx2MbGrd\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 580, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e062800 - Killer Fireflies Diorama.mp4", "id" => "i1dVRamqUGo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i1dVRamqUGo", "playlist_index" => 6, "timestamp" => 1782651611, "title" => "Killer Fireflies Diorama", "upload_date" => "20260628"} 04:19:48.150 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:48.151 [debug] QUERY OK source="sources" db=0.0ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:48.151 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-28 13:00:11Z], 55] 04:19:48.163 [debug] QUERY OK source="media_items" db=11.7ms idle=64.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of some unfortunate guys who got surrounded by a swarm of Lightning Bugs.\n\nThe WIW RPG is almost ready to ship! If you want to order a copy, go to: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nFireflies by KIDZ BOP Kids, https://t.lickd.co/l/DEoOx2MbGrd\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Killer Fireflies Diorama", "eeaba939-6e0e-4b8a-a33d-bf03a0ddab9e", false, 55, [], 580, false, "i1dVRamqUGo", "https://www.youtube.com/watch?v=i1dVRamqUGo", 6, "/downloads/Boylei Hobby Time/Season 2026/s2026e062800 - Killer Fireflies Diorama.mp4", false, false, 98, ~U[2026-06-28 13:00:11Z], ~U[2026-08-05 02:19:48Z], ~U[2026-08-05 02:19:48Z], "In this video, I made a diorama of some unfortunate guys who got surrounded by a swarm of Lightning Bugs.\n\nThe WIW RPG is almost ready to ship! If you want to order a copy, go to: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nFireflies by KIDZ BOP Kids, https://t.lickd.co/l/DEoOx2MbGrd\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Killer Fireflies Diorama", 55, 580, false, "i1dVRamqUGo", "https://www.youtube.com/watch?v=i1dVRamqUGo", "/downloads/Boylei Hobby Time/Season 2026/s2026e062800 - Killer Fireflies Diorama.mp4", false, ~U[2026-06-28 13:00:11Z]] 04:19:48.164 [debug] QUERY OK source="sources" db=0.2ms idle=71.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:48.164 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:48.164 [debug] QUERY OK source="media_items" db=0.1ms idle=13.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5115591] 04:19:48.164 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama of a secret WWII mission involving a Minotaur.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 661, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e061400 - WWII Mission You've Probably Never Heard Of.mp4", "id" => "KQgHnvx5eAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KQgHnvx5eAo", "playlist_index" => 7, "timestamp" => 1781442018, "title" => "WWII Mission You've Probably Never Heard Of", "upload_date" => "20260614"} 04:19:48.164 [debug] QUERY OK source="sources" db=0.1ms idle=13.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:48.165 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:48.165 [debug] QUERY OK source="media_items" db=0.4ms idle=1.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-14 13:00:18Z], 55] 04:19:48.166 [debug] QUERY OK source="media_items" db=0.5ms idle=1.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a secret WWII mission involving a Minotaur.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "WWII Mission You've Probably Never Heard Of", "760f71ae-f5aa-48d5-81a7-91c87aed74aa", false, 55, [], 661, false, "KQgHnvx5eAo", "https://www.youtube.com/watch?v=KQgHnvx5eAo", 7, "/downloads/Boylei Hobby Time/Season 2026/s2026e061400 - WWII Mission You've Probably Never Heard Of.mp4", false, false, 98, ~U[2026-06-14 13:00:18Z], ~U[2026-08-05 02:19:48Z], ~U[2026-08-05 02:19:48Z], "In this video, I made a diorama of a secret WWII mission involving a Minotaur.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "WWII Mission You've Probably Never Heard Of", 55, 661, false, "KQgHnvx5eAo", "https://www.youtube.com/watch?v=KQgHnvx5eAo", "/downloads/Boylei Hobby Time/Season 2026/s2026e061400 - WWII Mission You've Probably Never Heard Of.mp4", false, ~U[2026-06-14 13:00:18Z]] 04:19:48.166 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:48.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:48.167 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5070150] 04:19:48.167 [debug] Current batch of media processed. Will check again in 1000ms 04:19:49.167 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I made a diorama of Nightcrawler from X-Men sucker punching a Clone Trooper from the Prequels.\n\nThanks, Owain, for sending me the Nightcrawler figure!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 668, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e060700 - Now that's how to Display Action Figures!.mp4", "id" => "utPgrve_WiY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=utPgrve_WiY", "playlist_index" => 8, "timestamp" => 1780837217, "title" => "Now that's how to Display Action Figures!", "upload_date" => "20260607"} 04:19:49.167 [debug] QUERY OK source="sources" db=0.1ms idle=1001.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:49.168 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:49.168 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-07 13:00:17Z], 55] 04:19:49.178 [debug] QUERY OK source="media_items" db=9.9ms idle=80.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I made a diorama of Nightcrawler from X-Men sucker punching a Clone Trooper from the Prequels.\n\nThanks, Owain, for sending me the Nightcrawler figure!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Now that's how to Display Action Figures!", "01762248-cbc8-4790-a3da-627c547b4950", false, 55, [], 668, false, "utPgrve_WiY", "https://www.youtube.com/watch?v=utPgrve_WiY", 8, "/downloads/Boylei Hobby Time/Season 2026/s2026e060700 - Now that's how to Display Action Figures!.mp4", false, false, 98, ~U[2026-06-07 13:00:17Z], ~U[2026-08-05 02:19:49Z], ~U[2026-08-05 02:19:49Z], "I made a diorama of Nightcrawler from X-Men sucker punching a Clone Trooper from the Prequels.\n\nThanks, Owain, for sending me the Nightcrawler figure!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Now that's how to Display Action Figures!", 55, 668, false, "utPgrve_WiY", "https://www.youtube.com/watch?v=utPgrve_WiY", "/downloads/Boylei Hobby Time/Season 2026/s2026e060700 - Now that's how to Display Action Figures!.mp4", false, ~U[2026-06-07 13:00:17Z]] 04:19:49.179 [debug] QUERY OK source="sources" db=0.1ms idle=85.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:49.179 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:49.179 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5045552] 04:19:49.179 [debug] Current batch of media processed. Will check again in 1000ms 04:19:50.180 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama split down the middle, divided by time. Shoutout to Ginger for supplying the tank model kit!\n\nCheck out SpencerQuiad Hobby’s video here: https://www.youtube.com/watch?v=qxHHYl2VP-4\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 865, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e053100 - Making a Dynamic WWII Diorama.mp4", "id" => "mMlgMMxWp2o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mMlgMMxWp2o", "playlist_index" => 9, "timestamp" => 1780232418, "title" => "Making a Dynamic WWII Diorama", "upload_date" => "20260531"} 04:19:50.180 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:50.181 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:50.181 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 13:00:18Z], 55] 04:19:50.182 [debug] QUERY OK source="media_items" db=0.6ms idle=92.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama split down the middle, divided by time. Shoutout to Ginger for supplying the tank model kit!\n\nCheck out SpencerQuiad Hobby’s video here: https://www.youtube.com/watch?v=qxHHYl2VP-4\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making a Dynamic WWII Diorama", "33765315-ab8a-411d-99ee-5115cfca3289", false, 55, [], 865, false, "mMlgMMxWp2o", "https://www.youtube.com/watch?v=mMlgMMxWp2o", 9, "/downloads/Boylei Hobby Time/Season 2026/s2026e053100 - Making a Dynamic WWII Diorama.mp4", false, false, 98, ~U[2026-05-31 13:00:18Z], ~U[2026-08-05 02:19:50Z], ~U[2026-08-05 02:19:50Z], "In this video, I made a diorama split down the middle, divided by time. Shoutout to Ginger for supplying the tank model kit!\n\nCheck out SpencerQuiad Hobby’s video here: https://www.youtube.com/watch?v=qxHHYl2VP-4\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making a Dynamic WWII Diorama", 55, 865, false, "mMlgMMxWp2o", "https://www.youtube.com/watch?v=mMlgMMxWp2o", "/downloads/Boylei Hobby Time/Season 2026/s2026e053100 - Making a Dynamic WWII Diorama.mp4", false, ~U[2026-05-31 13:00:18Z]] 04:19:50.182 [debug] QUERY OK source="sources" db=0.1ms idle=87.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:50.183 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:50.183 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5019537] 04:19:50.183 [debug] Current batch of media processed. Will check again in 1000ms 04:19:51.184 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://www.kiwico.com/boylei and use code BOYLEI at checkout for 50% off your first monthly KiwiCo crate (ages 3+) and 20% off your first Panda Crate (ages 0-36 months)!\n\nIn this video, I made a diorama using deep pour epoxy resin and clay to create an angler fish hunting a little human.\n\nGo check out the WIW playlist for more adventures like this: \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 997, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e052400 - Don't Walk on the Ice at Night | Epoxy Resin Diorama.mp4", "id" => "WCoElK4azg4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WCoElK4azg4", "playlist_index" => 10, "timestamp" => 1779627609, "title" => "Don't Walk on the Ice at Night | Epoxy Resin Diorama", "upload_date" => "20260524"} 04:19:51.184 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:51.185 [debug] QUERY OK source="sources" db=0.0ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:51.185 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 13:00:09Z], 55] 04:19:51.196 [debug] QUERY OK source="media_items" db=9.9ms idle=95.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.kiwico.com/boylei and use code BOYLEI at checkout for 50% off your first monthly KiwiCo crate (ages 3+) and 20% off your first Panda Crate (ages 0-36 months)!\n\nIn this video, I made a diorama using deep pour epoxy resin and clay to create an angler fish hunting a little human.\n\nGo check out the WIW playlist for more adventures like this: \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Don't Walk on the Ice at Night | Epoxy Resin Diorama", "6421f3aa-5757-478f-a29a-41aac1bf89c2", false, 55, [], 997, false, "WCoElK4azg4", "https://www.youtube.com/watch?v=WCoElK4azg4", 10, "/downloads/Boylei Hobby Time/Season 2026/s2026e052400 - Don't Walk on the Ice at Night | Epoxy Resin Diorama.mp4", false, false, 98, ~U[2026-05-24 13:00:09Z], ~U[2026-08-05 02:19:51Z], ~U[2026-08-05 02:19:51Z], "Go to https://www.kiwico.com/boylei and use code BOYLEI at checkout for 50% off your first monthly KiwiCo crate (ages 3+) and 20% off your first Panda Crate (ages 0-36 months)!\n\nIn this video, I made a diorama using deep pour epoxy resin and clay to create an angler fish hunting a little human.\n\nGo check out the WIW playlist for more adventures like this: \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Don't Walk on the Ice at Night | Epoxy Resin Diorama", 55, 997, false, "WCoElK4azg4", "https://www.youtube.com/watch?v=WCoElK4azg4", "/downloads/Boylei Hobby Time/Season 2026/s2026e052400 - Don't Walk on the Ice at Night | Epoxy Resin Diorama.mp4", false, ~U[2026-05-24 13:00:09Z]] 04:19:51.196 [debug] QUERY OK source="sources" db=0.1ms idle=100.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:51.196 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:51.196 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4993745] 04:19:51.196 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama featuring a miniature battle between Darth Maul and some Clones Troopers with realistic looking blaster bolts and lightsabers made from LED filaments. \n\nFor more Star Wars content, check out my playlist here: https://youtube.com/playlist?list=PLnnacC77w_zBZNs_UaK39afpUD78FWj3k&si=DPTCc3GFQ4PPrk-j\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 644, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e051700 - Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama.mp4", "id" => "qDfSjU5HtY0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qDfSjU5HtY0", "playlist_index" => 11, "timestamp" => 1779022888, "title" => "Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama", "upload_date" => "20260517"} 04:19:51.197 [debug] QUERY OK source="sources" db=0.1ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:51.197 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:51.197 [debug] QUERY OK source="media_items" db=0.4ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-17 13:01:28Z], 55] 04:19:51.216 [debug] QUERY OK source="media_items" db=18.5ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama featuring a miniature battle between Darth Maul and some Clones Troopers with realistic looking blaster bolts and lightsabers made from LED filaments. \n\nFor more Star Wars content, check out my playlist here: https://youtube.com/playlist?list=PLnnacC77w_zBZNs_UaK39afpUD78FWj3k&si=DPTCc3GFQ4PPrk-j\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama", "495bdae0-a647-43a4-b59f-287f12add0d6", false, 55, [], 644, false, "qDfSjU5HtY0", "https://www.youtube.com/watch?v=qDfSjU5HtY0", 11, "/downloads/Boylei Hobby Time/Season 2026/s2026e051700 - Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama.mp4", false, false, 98, ~U[2026-05-17 13:01:28Z], ~U[2026-08-05 02:19:51Z], ~U[2026-08-05 02:19:51Z], "In this video, I made a diorama featuring a miniature battle between Darth Maul and some Clones Troopers with realistic looking blaster bolts and lightsabers made from LED filaments. \n\nFor more Star Wars content, check out my playlist here: https://youtube.com/playlist?list=PLnnacC77w_zBZNs_UaK39afpUD78FWj3k&si=DPTCc3GFQ4PPrk-j\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama", 55, 644, false, "qDfSjU5HtY0", "https://www.youtube.com/watch?v=qDfSjU5HtY0", "/downloads/Boylei Hobby Time/Season 2026/s2026e051700 - Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama.mp4", false, ~U[2026-05-17 13:01:28Z]] 04:19:51.217 [debug] QUERY OK source="sources" db=0.1ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:51.217 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:51.217 [debug] QUERY OK source="media_items" db=0.2ms idle=20.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4968124] 04:19:51.217 [debug] Current batch of media processed. Will check again in 1000ms 04:19:52.218 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This week, I put together, based, and painted more of the available minis for the upcoming tabletop miniature game, Gundam Assemble. I loved it. \n\nThis might have to be my favorite scale of Gundam so far.\n\nif you see this, comment \"Gundam Card Game\" to keep the meme going.\n\nFollow me on Instagram! @boyleihobbies\n\n——————————————————————————\n\nCircle Drawing Tool - https://amzn.to/3IdHSln\n\nWet Palette - https://amzn.to/4mQVnXc\n\nBrushes - https://amzn.to/4p7N0Z3\n\nBits Box Starter Sets: \nhttps://amzn.to/45QIp5U\nhttps://amzn.to/463UYcU\n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 763, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e051000 - GUNDAM MINIATURES.mp4", "id" => "sjn7gjR68IU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sjn7gjR68IU", "playlist_index" => 12, "timestamp" => 1778418096, "title" => "GUNDAM MINIATURES", "upload_date" => "20260510"} 04:19:52.218 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:52.219 [debug] QUERY OK source="sources" db=0.0ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:52.219 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-10 13:01:36Z], 55] 04:19:52.236 [debug] QUERY OK source="media_items" db=16.5ms idle=128.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This week, I put together, based, and painted more of the available minis for the upcoming tabletop miniature game, Gundam Assemble. I loved it. \n\nThis might have to be my favorite scale of Gundam so far.\n\nif you see this, comment \"Gundam Card Game\" to keep the meme going.\n\nFollow me on Instagram! @boyleihobbies\n\n——————————————————————————\n\nCircle Drawing Tool - https://amzn.to/3IdHSln\n\nWet Palette - https://amzn.to/4mQVnXc\n\nBrushes - https://amzn.to/4p7N0Z3\n\nBits Box Starter Sets: \nhttps://amzn.to/45QIp5U\nhttps://amzn.to/463UYcU\n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "GUNDAM MINIATURES", "59859f7e-b55f-4fb0-9d30-d7760a7eb16d", false, 55, [], 763, false, "sjn7gjR68IU", "https://www.youtube.com/watch?v=sjn7gjR68IU", 12, "/downloads/Boylei Hobby Time/Season 2026/s2026e051000 - GUNDAM MINIATURES.mp4", false, false, 98, ~U[2026-05-10 13:01:36Z], ~U[2026-08-05 02:19:52Z], ~U[2026-08-05 02:19:52Z], "This week, I put together, based, and painted more of the available minis for the upcoming tabletop miniature game, Gundam Assemble. I loved it. \n\nThis might have to be my favorite scale of Gundam so far.\n\nif you see this, comment \"Gundam Card Game\" to keep the meme going.\n\nFollow me on Instagram! @boyleihobbies\n\n——————————————————————————\n\nCircle Drawing Tool - https://amzn.to/3IdHSln\n\nWet Palette - https://amzn.to/4mQVnXc\n\nBrushes - https://amzn.to/4p7N0Z3\n\nBits Box Starter Sets: \nhttps://amzn.to/45QIp5U\nhttps://amzn.to/463UYcU\n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "GUNDAM MINIATURES", 55, 763, false, "sjn7gjR68IU", "https://www.youtube.com/watch?v=sjn7gjR68IU", "/downloads/Boylei Hobby Time/Season 2026/s2026e051000 - GUNDAM MINIATURES.mp4", false, ~U[2026-05-10 13:01:36Z]] 04:19:52.237 [debug] QUERY OK source="sources" db=0.2ms idle=140.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:52.237 [debug] QUERY OK source="media_profiles" db=0.2ms idle=18.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:52.237 [debug] QUERY OK source="media_items" db=0.2ms idle=18.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4942948] 04:19:52.237 [debug] Current batch of media processed. Will check again in 1000ms 04:19:53.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama of a man-eating swamp called the Bog. This is a creature from the WIW.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\nCheck out the WIW playlist for more! https://youtube.com/playlist?list=PLnnacC77w_zDzkogVYPHf_STVYe4q1qER&si=4NbvQp_5pVmLCEUX \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 694, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e050300 - This is No Ordinary Swamp | Epoxy Resin Diorama.mp4", "id" => "-qBZaPHYWx0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-qBZaPHYWx0", "playlist_index" => 13, "timestamp" => 1777813202, "title" => "This is No Ordinary Swamp | Epoxy Resin Diorama", "upload_date" => "20260503"} 04:19:53.238 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:53.239 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:53.240 [debug] QUERY OK source="media_items" db=0.8ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 13:00:02Z], 55] 04:19:53.250 [debug] QUERY OK source="media_items" db=10.2ms idle=148.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a man-eating swamp called the Bog. This is a creature from the WIW.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\nCheck out the WIW playlist for more! https://youtube.com/playlist?list=PLnnacC77w_zDzkogVYPHf_STVYe4q1qER&si=4NbvQp_5pVmLCEUX \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "This is No Ordinary Swamp | Epoxy Resin Diorama", "00998096-dacf-447b-b7d3-488428233f3f", false, 55, [], 694, false, "-qBZaPHYWx0", "https://www.youtube.com/watch?v=-qBZaPHYWx0", 13, "/downloads/Boylei Hobby Time/Season 2026/s2026e050300 - This is No Ordinary Swamp | Epoxy Resin Diorama.mp4", false, false, 98, ~U[2026-05-03 13:00:02Z], ~U[2026-08-05 02:19:53Z], ~U[2026-08-05 02:19:53Z], "In this video, I made a diorama of a man-eating swamp called the Bog. This is a creature from the WIW.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\nCheck out the WIW playlist for more! https://youtube.com/playlist?list=PLnnacC77w_zDzkogVYPHf_STVYe4q1qER&si=4NbvQp_5pVmLCEUX \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "This is No Ordinary Swamp | Epoxy Resin Diorama", 55, 694, false, "-qBZaPHYWx0", "https://www.youtube.com/watch?v=-qBZaPHYWx0", "/downloads/Boylei Hobby Time/Season 2026/s2026e050300 - This is No Ordinary Swamp | Epoxy Resin Diorama.mp4", false, ~U[2026-05-03 13:00:02Z]] 04:19:53.251 [debug] QUERY OK source="sources" db=0.2ms idle=153.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:53.251 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:53.251 [debug] QUERY OK source="media_items" db=0.2ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4918087] 04:19:53.251 [debug] Current batch of media processed. Will check again in 1000ms 04:19:54.252 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a diorama of a large cougar sneaking up on a group of unsuspecting hunters in the Wild Imaginary West.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 688, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e042600 - Terrifying Cougar Hunt Diorama | Realistic Terrain DIY.mp4", "id" => "cqI_GLQQd4Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cqI_GLQQd4Y", "playlist_index" => 14, "timestamp" => 1777208463, "title" => "Terrifying Cougar Hunt Diorama | Realistic Terrain DIY", "upload_date" => "20260426"} 04:19:54.252 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:54.253 [debug] QUERY OK source="sources" db=0.0ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:54.253 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-26 13:01:03Z], 55] 04:19:54.263 [debug] QUERY OK source="media_items" db=9.8ms idle=160.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a large cougar sneaking up on a group of unsuspecting hunters in the Wild Imaginary West.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Terrifying Cougar Hunt Diorama | Realistic Terrain DIY", "2e5e618a-dc2b-432d-a50f-03deb106fdff", false, 55, [], 688, false, "cqI_GLQQd4Y", "https://www.youtube.com/watch?v=cqI_GLQQd4Y", 14, "/downloads/Boylei Hobby Time/Season 2026/s2026e042600 - Terrifying Cougar Hunt Diorama | Realistic Terrain DIY.mp4", false, false, 98, ~U[2026-04-26 13:01:03Z], ~U[2026-08-05 02:19:54Z], ~U[2026-08-05 02:19:54Z], "In this video, I made a diorama of a large cougar sneaking up on a group of unsuspecting hunters in the Wild Imaginary West.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Terrifying Cougar Hunt Diorama | Realistic Terrain DIY", 55, 688, false, "cqI_GLQQd4Y", "https://www.youtube.com/watch?v=cqI_GLQQd4Y", "/downloads/Boylei Hobby Time/Season 2026/s2026e042600 - Terrifying Cougar Hunt Diorama | Realistic Terrain DIY.mp4", false, ~U[2026-04-26 13:01:03Z]] 04:19:54.264 [debug] QUERY OK source="sources" db=0.1ms idle=165.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:54.264 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:54.264 [debug] QUERY OK source="media_items" db=0.1ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4893270] 04:19:54.264 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I build and paint a miniature version of \u200B\u2060the @Corridor studio and present it to the @CorridorCrew. \n\nHere’s a link to Daniel’s video: https://youtu.be/fERSX9oV0kE?si=26A_ZZEOZATu9K5K\n\nHere’s the link for Daniel’s printable diorama set: https://makerworld.com/en/models/2784006-corridor-crew-forced-perspective-diorama\n\nOn my way to deliver the diorama, I stopped to see Brent from @GhostTownLiving and Joey from @manmadecrafts! \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 851, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e041900 - VFX Artists React to Being in a Diorama.mp4", "id" => "HY_2DdOA6qM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HY_2DdOA6qM", "playlist_index" => 15, "timestamp" => 1776603634, "title" => "VFX Artists React to Being in a Diorama", "upload_date" => "20260419"} 04:19:54.265 [debug] QUERY OK source="sources" db=0.1ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:54.265 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:54.265 [debug] QUERY OK source="media_items" db=0.4ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-19 13:00:34Z], 55] 04:19:54.266 [debug] QUERY OK source="media_items" db=0.6ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I build and paint a miniature version of \u200B\u2060the @Corridor studio and present it to the @CorridorCrew. \n\nHere’s a link to Daniel’s video: https://youtu.be/fERSX9oV0kE?si=26A_ZZEOZATu9K5K\n\nHere’s the link for Daniel’s printable diorama set: https://makerworld.com/en/models/2784006-corridor-crew-forced-perspective-diorama\n\nOn my way to deliver the diorama, I stopped to see Brent from @GhostTownLiving and Joey from @manmadecrafts! \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "VFX Artists React to Being in a Diorama", "627cecb0-554c-490d-9c57-0e297beced1b", false, 55, [], 851, false, "HY_2DdOA6qM", "https://www.youtube.com/watch?v=HY_2DdOA6qM", 15, "/downloads/Boylei Hobby Time/Season 2026/s2026e041900 - VFX Artists React to Being in a Diorama.mp4", false, false, 98, ~U[2026-04-19 13:00:34Z], ~U[2026-08-05 02:19:54Z], ~U[2026-08-05 02:19:54Z], "In this video, I build and paint a miniature version of \u200B\u2060the @Corridor studio and present it to the @CorridorCrew. \n\nHere’s a link to Daniel’s video: https://youtu.be/fERSX9oV0kE?si=26A_ZZEOZATu9K5K\n\nHere’s the link for Daniel’s printable diorama set: https://makerworld.com/en/models/2784006-corridor-crew-forced-perspective-diorama\n\nOn my way to deliver the diorama, I stopped to see Brent from @GhostTownLiving and Joey from @manmadecrafts! \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "VFX Artists React to Being in a Diorama", 55, 851, false, "HY_2DdOA6qM", "https://www.youtube.com/watch?v=HY_2DdOA6qM", "/downloads/Boylei Hobby Time/Season 2026/s2026e041900 - VFX Artists React to Being in a Diorama.mp4", false, ~U[2026-04-19 13:00:34Z]] 04:19:54.266 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:54.267 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:54.267 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4868414] 04:19:54.267 [debug] Current batch of media processed. Will check again in 1000ms 04:19:55.268 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I paint a miniature of Jeremiah the Prophet, sculpted by Cauê Costa based off the art of Horace Vernet. I tell the story of Jeremiah as I paint him.\n\nIf you would like to talk about anything in the video, shoot me an email at the address in my bio. All conversations is welcome.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 638, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e041200 - Why Does Nobody Listen to this Guy? | Biblical Character Story.mp4", "id" => "Sp0DdUBnZG8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sp0DdUBnZG8", "playlist_index" => 16, "timestamp" => 1775998854, "title" => "Why Does Nobody Listen to this Guy? | Biblical Character Story", "upload_date" => "20260412"} 04:19:55.268 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:55.269 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:55.270 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:54Z], 55] 04:19:55.271 [debug] QUERY OK source="media_items" db=0.6ms idle=176.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I paint a miniature of Jeremiah the Prophet, sculpted by Cauê Costa based off the art of Horace Vernet. I tell the story of Jeremiah as I paint him.\n\nIf you would like to talk about anything in the video, shoot me an email at the address in my bio. All conversations is welcome.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Why Does Nobody Listen to this Guy? | Biblical Character Story", "a4153cb7-8620-4184-8d2d-3d7057080e1f", false, 55, [], 638, false, "Sp0DdUBnZG8", "https://www.youtube.com/watch?v=Sp0DdUBnZG8", 16, "/downloads/Boylei Hobby Time/Season 2026/s2026e041200 - Why Does Nobody Listen to this Guy? | Biblical Character Story.mp4", false, false, 98, ~U[2026-04-12 13:00:54Z], ~U[2026-08-05 02:19:55Z], ~U[2026-08-05 02:19:55Z], "In this video, I paint a miniature of Jeremiah the Prophet, sculpted by Cauê Costa based off the art of Horace Vernet. I tell the story of Jeremiah as I paint him.\n\nIf you would like to talk about anything in the video, shoot me an email at the address in my bio. All conversations is welcome.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Why Does Nobody Listen to this Guy? | Biblical Character Story", 55, 638, false, "Sp0DdUBnZG8", "https://www.youtube.com/watch?v=Sp0DdUBnZG8", "/downloads/Boylei Hobby Time/Season 2026/s2026e041200 - Why Does Nobody Listen to this Guy? | Biblical Character Story.mp4", false, ~U[2026-04-12 13:00:54Z]] 04:19:55.272 [debug] QUERY OK source="sources" db=1.0ms idle=171.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:55.272 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:55.273 [debug] QUERY OK source="media_items" db=0.1ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4843605] 04:19:55.273 [debug] Current batch of media processed. Will check again in 1000ms 04:19:56.273 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I made a bug killer bot that somehow wound up on the wrong planet at the wrong time. Typical intergalactic shipping mishap shenanigans.\n\nThis is a part of the Big Bot Bash, put on by @BillMakingStuff \nGo watch the rest of the videos here: https://www.youtube.com/playlist?list=PL_Dy-JTi6hDS-n6x1i4EUaSIgcD6McNV- \n\nAlso! If you’d like to own one of my projects, you can bid here! Only a couple days left!\nhttps://www.ebay.com/usr/boyleihobbytime\n\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 813, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e032900 - That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build.mp4", "id" => "3dSn8nJLFSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3dSn8nJLFSQ", "playlist_index" => 17, "timestamp" => 1774789200, "title" => "That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build", "upload_date" => "20260329"} 04:19:56.273 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:56.274 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:56.274 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 13:00:00Z], 55] 04:19:56.285 [debug] QUERY OK source="media_items" db=9.9ms idle=179.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a bug killer bot that somehow wound up on the wrong planet at the wrong time. Typical intergalactic shipping mishap shenanigans.\n\nThis is a part of the Big Bot Bash, put on by @BillMakingStuff \nGo watch the rest of the videos here: https://www.youtube.com/playlist?list=PL_Dy-JTi6hDS-n6x1i4EUaSIgcD6McNV- \n\nAlso! If you’d like to own one of my projects, you can bid here! Only a couple days left!\nhttps://www.ebay.com/usr/boyleihobbytime\n\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build", "91555b82-f638-4b29-8bb0-c0ec1fd489a5", false, 55, [], 813, false, "3dSn8nJLFSQ", "https://www.youtube.com/watch?v=3dSn8nJLFSQ", 17, "/downloads/Boylei Hobby Time/Season 2026/s2026e032900 - That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build.mp4", false, false, 98, ~U[2026-03-29 13:00:00Z], ~U[2026-08-05 02:19:56Z], ~U[2026-08-05 02:19:56Z], "In this video, I made a bug killer bot that somehow wound up on the wrong planet at the wrong time. Typical intergalactic shipping mishap shenanigans.\n\nThis is a part of the Big Bot Bash, put on by @BillMakingStuff \nGo watch the rest of the videos here: https://www.youtube.com/playlist?list=PL_Dy-JTi6hDS-n6x1i4EUaSIgcD6McNV- \n\nAlso! If you’d like to own one of my projects, you can bid here! Only a couple days left!\nhttps://www.ebay.com/usr/boyleihobbytime\n\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build", 55, 813, false, "3dSn8nJLFSQ", "https://www.youtube.com/watch?v=3dSn8nJLFSQ", "/downloads/Boylei Hobby Time/Season 2026/s2026e032900 - That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build.mp4", false, ~U[2026-03-29 13:00:00Z]] 04:19:56.285 [debug] QUERY OK source="sources" db=0.1ms idle=184.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:56.285 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:56.286 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4794429] 04:19:56.286 [debug] Current batch of media processed. Will check again in 1000ms 04:19:57.286 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I turn a packing insert from a table saw into a large playable gaming board using bits and pieces from around my shop.\n\nThe auction for the workshop fund is now closed! Thanks to everyone who participated! \n\n3D Files Used: \n\nHsprods Miniatures - https://www.myminifactory.com/object/3d-print-basing-bits-asset-props-terrain-scifi-460344 \n\nhttps://www.myminifactory.com/object/3d-print-basing-bits-vents-trap-for-terrain-423171 \n\nSaucerman Studios - https://www.myminifactory.com/object/3d-print-sci-fi-greebles-stl-pack-3-357805 \n\nhttps://www.myminifactory.com/object/3d-print-sci-fi-greebles-pack-1-186995 \n\nMultiverse - https://www.myminifactory.com/object/3d-print-ancient-starport-wall-greebles-229124 \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 792, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e032200 - Making Terrain Too Big for My Own Good.mp4", "id" => "NUA2RvlRjcs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NUA2RvlRjcs", "playlist_index" => 18, "timestamp" => 1774184440, "title" => "Making Terrain Too Big for My Own Good", "upload_date" => "20260322"} 04:19:57.286 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:57.287 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.287 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.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-22 13:00:40Z], 55] 04:19:57.288 [debug] QUERY OK source="media_items" db=0.6ms idle=191.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I turn a packing insert from a table saw into a large playable gaming board using bits and pieces from around my shop.\n\nThe auction for the workshop fund is now closed! Thanks to everyone who participated! \n\n3D Files Used: \n\nHsprods Miniatures - https://www.myminifactory.com/object/3d-print-basing-bits-asset-props-terrain-scifi-460344 \n\nhttps://www.myminifactory.com/object/3d-print-basing-bits-vents-trap-for-terrain-423171 \n\nSaucerman Studios - https://www.myminifactory.com/object/3d-print-sci-fi-greebles-stl-pack-3-357805 \n\nhttps://www.myminifactory.com/object/3d-print-sci-fi-greebles-pack-1-186995 \n\nMultiverse - https://www.myminifactory.com/object/3d-print-ancient-starport-wall-greebles-229124 \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making Terrain Too Big for My Own Good", "f1a2be84-0bff-458b-b603-ac1672de3d60", false, 55, [], 792, false, "NUA2RvlRjcs", "https://www.youtube.com/watch?v=NUA2RvlRjcs", 18, "/downloads/Boylei Hobby Time/Season 2026/s2026e032200 - Making Terrain Too Big for My Own Good.mp4", false, false, 98, ~U[2026-03-22 13:00:40Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I turn a packing insert from a table saw into a large playable gaming board using bits and pieces from around my shop.\n\nThe auction for the workshop fund is now closed! Thanks to everyone who participated! \n\n3D Files Used: \n\nHsprods Miniatures - https://www.myminifactory.com/object/3d-print-basing-bits-asset-props-terrain-scifi-460344 \n\nhttps://www.myminifactory.com/object/3d-print-basing-bits-vents-trap-for-terrain-423171 \n\nSaucerman Studios - https://www.myminifactory.com/object/3d-print-sci-fi-greebles-stl-pack-3-357805 \n\nhttps://www.myminifactory.com/object/3d-print-sci-fi-greebles-pack-1-186995 \n\nMultiverse - https://www.myminifactory.com/object/3d-print-ancient-starport-wall-greebles-229124 \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making Terrain Too Big for My Own Good", 55, 792, false, "NUA2RvlRjcs", "https://www.youtube.com/watch?v=NUA2RvlRjcs", "/downloads/Boylei Hobby Time/Season 2026/s2026e032200 - Making Terrain Too Big for My Own Good.mp4", false, ~U[2026-03-22 13:00:40Z]] 04:19:57.288 [debug] QUERY OK source="sources" db=0.1ms idle=187.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.289 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:57.289 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4769739] 04:19:57.289 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Super Mario Galaxy Movie is coming out next month. I watched the trailers and saw a fun diorama. Enjoy!\n\nScale-a-ton’s foil water tutorial - https://www.youtube.com/watch?v=VmygMsFCkcs&t=283s\n\nPeach’s Castle file - https://cults3d.com/en/3d-model/game/princess-peach-castle\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "duration" => 1020, "filename" => "/downloads/Boylei Hobby Time/Season 2026/s2026e031500 - Super Mario Galaxy Diorama Build.mp4", "id" => "gr6W-KcXZ0o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gr6W-KcXZ0o", "playlist_index" => 19, "timestamp" => 1773579678, "title" => "Super Mario Galaxy Diorama Build", "upload_date" => "20260315"} 04:19:57.289 [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" IN (?)) [55] 04:19:57.290 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.290 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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-15 13:01:18Z], 55] 04:19:57.300 [debug] QUERY OK source="media_items" db=9.7ms idle=1.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Super Mario Galaxy Movie is coming out next month. I watched the trailers and saw a fun diorama. Enjoy!\n\nScale-a-ton’s foil water tutorial - https://www.youtube.com/watch?v=VmygMsFCkcs&t=283s\n\nPeach’s Castle file - https://cults3d.com/en/3d-model/game/princess-peach-castle\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Super Mario Galaxy Diorama Build", "33c02687-9725-4ade-9675-80f8b844236d", false, 55, [], 1020, false, "gr6W-KcXZ0o", "https://www.youtube.com/watch?v=gr6W-KcXZ0o", 19, "/downloads/Boylei Hobby Time/Season 2026/s2026e031500 - Super Mario Galaxy Diorama Build.mp4", false, false, 98, ~U[2026-03-15 13:01:18Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "The Super Mario Galaxy Movie is coming out next month. I watched the trailers and saw a fun diorama. Enjoy!\n\nScale-a-ton’s foil water tutorial - https://www.youtube.com/watch?v=VmygMsFCkcs&t=283s\n\nPeach’s Castle file - https://cults3d.com/en/3d-model/game/princess-peach-castle\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Super Mario Galaxy Diorama Build", 55, 1020, false, "gr6W-KcXZ0o", "https://www.youtube.com/watch?v=gr6W-KcXZ0o", "/downloads/Boylei Hobby Time/Season 2026/s2026e031500 - Super Mario Galaxy Diorama Build.mp4", false, ~U[2026-03-15 13:01:18Z]] 04:19:57.300 [debug] QUERY OK source="sources" db=0.1ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.301 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:19:57.301 [debug] QUERY OK source="media_items" db=0.2ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4745576] 04:19:57.301 [debug] Current batch of media processed. Will check again in 1000ms 04:19:57.928 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Boylei --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Boylei Hobby Time/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0d/ab/0dab5b084b0db71e399d3072b350995b7372b2629b1496ce479b4c0825b1334d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/de/4b/de4b879b0c709cdd9d1ae2e267d46fb9f162a63163f069b4d764d41fa1be09c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:19:57.929 [debug] Gracefully stopping file follower 04:19:57.929 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=638.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [55] 04:19:57.930 [debug] QUERY OK source="sources" db=0.0ms idle=629.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.930 [debug] QUERY OK source="media_items" db=0.5ms idle=629.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 14:14:26Z], 55] 04:19:57.931 [debug] QUERY OK source="media_items" db=0.5ms idle=629.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We’re back in the WIW this week with a diorama featuring a prospector and his donkey. Below them emerges a giant arachnid danger.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "The Prospector and the Giant Spider", "9a05568a-1375-407a-815d-a73ad110c722", false, 55, [], 680, false, "4rdrzq3sEaw", "https://www.youtube.com/watch?v=4rdrzq3sEaw", 1, "/downloads/Boylei Hobby Time/Season 2026/s2026e080200 - The Prospector and the Giant Spider.mp4", false, false, 98, ~U[2026-08-02 14:14:26Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "We’re back in the WIW this week with a diorama featuring a prospector and his donkey. Below them emerges a giant arachnid danger.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "The Prospector and the Giant Spider", 55, 680, false, "4rdrzq3sEaw", "https://www.youtube.com/watch?v=4rdrzq3sEaw", "/downloads/Boylei Hobby Time/Season 2026/s2026e080200 - The Prospector and the Giant Spider.mp4", false, ~U[2026-08-02 14:14:26Z]] 04:19:57.932 [debug] QUERY OK source="sources" db=0.1ms idle=630.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.932 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:00:07Z], 55] 04:19:57.933 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It’s been a long while since I’ve added to my western town. I’ll explain why in this video as well as give an update and plans for the future! \n\nCheck out my 1:1 scale props here: https://youtube.com/playlist?list=PLEbBeAx4wJ9w&si=H-iN_SGxZXPUt4mM\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "My Wild Western Town", "d4bd64f3-8f1b-48f6-9310-96408b4bc5fc", false, 55, [], 755, false, "THveRQ56-qs", "https://www.youtube.com/watch?v=THveRQ56-qs", 2, "/downloads/Boylei Hobby Time/Season 2026/s2026e072600 - My Wild Western Town.mp4", false, false, 98, ~U[2026-07-26 13:00:07Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "It’s been a long while since I’ve added to my western town. I’ll explain why in this video as well as give an update and plans for the future! \n\nCheck out my 1:1 scale props here: https://youtube.com/playlist?list=PLEbBeAx4wJ9w&si=H-iN_SGxZXPUt4mM\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "My Wild Western Town", 55, 755, false, "THveRQ56-qs", "https://www.youtube.com/watch?v=THveRQ56-qs", "/downloads/Boylei Hobby Time/Season 2026/s2026e072600 - My Wild Western Town.mp4", false, ~U[2026-07-26 13:00:07Z]] 04:19:57.933 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.934 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 13:00:17Z], 55] 04:19:57.935 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I was recently asked by @SpinMasterHQ and @PAWPatrolOfficial to build a diorama for this year’s San Diego Comic Con. If you happen to be attending, make sure to go say hi at the SpinMaster booth!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Dino Island Diorama | Custom Toy Makeover!", "257854f2-de80-43c9-ad63-1d515cc4ac14", false, 55, [], 914, false, "kdi28mpi3wM", "https://www.youtube.com/watch?v=kdi28mpi3wM", 3, "/downloads/Boylei Hobby Time/Season 2026/s2026e071900 - Dino Island Diorama | Custom Toy Makeover!.mp4", false, false, 98, ~U[2026-07-19 13:00:17Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "I was recently asked by @SpinMasterHQ and @PAWPatrolOfficial to build a diorama for this year’s San Diego Comic Con. If you happen to be attending, make sure to go say hi at the SpinMaster booth!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Dino Island Diorama | Custom Toy Makeover!", 55, 914, false, "kdi28mpi3wM", "https://www.youtube.com/watch?v=kdi28mpi3wM", "/downloads/Boylei Hobby Time/Season 2026/s2026e071900 - Dino Island Diorama | Custom Toy Makeover!.mp4", false, ~U[2026-07-19 13:00:17Z]] 04:19:57.935 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.936 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 13:00:20Z], 55] 04:19:57.936 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I make a battle diorama featuring miniatures from Games Workshop’s Middle Earth line. I explain my process as I go!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "I Made a LOTR Battle Diorama", "073d1be4-082a-4bfb-8382-e6f6a976f9f5", false, 55, [], 624, false, "ckul5BZBtkk", "https://www.youtube.com/watch?v=ckul5BZBtkk", 4, "/downloads/Boylei Hobby Time/Season 2026/s2026e071200 - I Made a LOTR Battle Diorama.mp4", false, false, 98, ~U[2026-07-12 13:00:20Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I make a battle diorama featuring miniatures from Games Workshop’s Middle Earth line. I explain my process as I go!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "I Made a LOTR Battle Diorama", 55, 624, false, "ckul5BZBtkk", "https://www.youtube.com/watch?v=ckul5BZBtkk", "/downloads/Boylei Hobby Time/Season 2026/s2026e071200 - I Made a LOTR Battle Diorama.mp4", false, ~U[2026-07-12 13:00:20Z]] 04:19:57.937 [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" = ?) [55] 04:19:57.937 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 13:00:29Z], 55] 04:19:57.938 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I made two dragons fighting each other on top of an off-kilter pedestal. One of them appears to be flying.\n\nSome of my patrons made projects of their own!\nCheck out this video from @spencerquaid - https://www.youtube.com/watch?v=fhIeB6BSUoc\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Dragon Battle Diorama", "4109ca7e-4801-46ea-953c-5560158cf794", false, 55, [], 851, false, "iRzGTH9ljq0", "https://www.youtube.com/watch?v=iRzGTH9ljq0", 5, "/downloads/Boylei Hobby Time/Season 2026/s2026e070500 - How to Make a Dragon Battle Diorama.mp4", false, false, 98, ~U[2026-07-05 13:00:29Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "I made two dragons fighting each other on top of an off-kilter pedestal. One of them appears to be flying.\n\nSome of my patrons made projects of their own!\nCheck out this video from @spencerquaid - https://www.youtube.com/watch?v=fhIeB6BSUoc\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Dragon Battle Diorama", 55, 851, false, "iRzGTH9ljq0", "https://www.youtube.com/watch?v=iRzGTH9ljq0", "/downloads/Boylei Hobby Time/Season 2026/s2026e070500 - How to Make a Dragon Battle Diorama.mp4", false, ~U[2026-07-05 13:00:29Z]] 04:19:57.938 [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" = ?) [55] 04:19:57.939 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-28 13:00:11Z], 55] 04:19:57.939 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of some unfortunate guys who got surrounded by a swarm of Lightning Bugs.\n\nThe WIW RPG is almost ready to ship! If you want to order a copy, go to: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nFireflies by KIDZ BOP Kids, https://t.lickd.co/l/DEoOx2MbGrd\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Killer Fireflies Diorama", "34ffe932-e3d4-4ec0-984e-7e6a187c3e42", false, 55, [], 580, false, "i1dVRamqUGo", "https://www.youtube.com/watch?v=i1dVRamqUGo", 6, "/downloads/Boylei Hobby Time/Season 2026/s2026e062800 - Killer Fireflies Diorama.mp4", false, false, 98, ~U[2026-06-28 13:00:11Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama of some unfortunate guys who got surrounded by a swarm of Lightning Bugs.\n\nThe WIW RPG is almost ready to ship! If you want to order a copy, go to: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n🎵 Copyrighted music licensed from Lickd. https://lickd.co\n\nFireflies by KIDZ BOP Kids, https://t.lickd.co/l/DEoOx2MbGrd\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Killer Fireflies Diorama", 55, 580, false, "i1dVRamqUGo", "https://www.youtube.com/watch?v=i1dVRamqUGo", "/downloads/Boylei Hobby Time/Season 2026/s2026e062800 - Killer Fireflies Diorama.mp4", false, ~U[2026-06-28 13:00:11Z]] 04:19:57.940 [debug] QUERY OK source="sources" db=0.2ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.940 [debug] QUERY OK source="media_items" db=0.6ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-14 13:00:18Z], 55] 04:19:57.941 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a secret WWII mission involving a Minotaur.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "WWII Mission You've Probably Never Heard Of", "fd5af462-876a-415d-a63e-b64fa45647c0", false, 55, [], 661, false, "KQgHnvx5eAo", "https://www.youtube.com/watch?v=KQgHnvx5eAo", 7, "/downloads/Boylei Hobby Time/Season 2026/s2026e061400 - WWII Mission You've Probably Never Heard Of.mp4", false, false, 98, ~U[2026-06-14 13:00:18Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama of a secret WWII mission involving a Minotaur.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "WWII Mission You've Probably Never Heard Of", 55, 661, false, "KQgHnvx5eAo", "https://www.youtube.com/watch?v=KQgHnvx5eAo", "/downloads/Boylei Hobby Time/Season 2026/s2026e061400 - WWII Mission You've Probably Never Heard Of.mp4", false, ~U[2026-06-14 13:00:18Z]] 04:19:57.942 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.942 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-07 13:00:17Z], 55] 04:19:57.945 [debug] QUERY OK source="media_items" db=2.3ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I made a diorama of Nightcrawler from X-Men sucker punching a Clone Trooper from the Prequels.\n\nThanks, Owain, for sending me the Nightcrawler figure!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Now that's how to Display Action Figures!", "d4a37256-dd25-4c65-8f74-a26d1a4ed6b4", false, 55, [], 668, false, "utPgrve_WiY", "https://www.youtube.com/watch?v=utPgrve_WiY", 8, "/downloads/Boylei Hobby Time/Season 2026/s2026e060700 - Now that's how to Display Action Figures!.mp4", false, false, 98, ~U[2026-06-07 13:00:17Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "I made a diorama of Nightcrawler from X-Men sucker punching a Clone Trooper from the Prequels.\n\nThanks, Owain, for sending me the Nightcrawler figure!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Now that's how to Display Action Figures!", 55, 668, false, "utPgrve_WiY", "https://www.youtube.com/watch?v=utPgrve_WiY", "/downloads/Boylei Hobby Time/Season 2026/s2026e060700 - Now that's how to Display Action Figures!.mp4", false, ~U[2026-06-07 13:00:17Z]] 04:19:57.945 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.946 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 13:00:18Z], 55] 04:19:57.947 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama split down the middle, divided by time. Shoutout to Ginger for supplying the tank model kit!\n\nCheck out SpencerQuiad Hobby’s video here: https://www.youtube.com/watch?v=qxHHYl2VP-4\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making a Dynamic WWII Diorama", "76485214-f212-4eed-a7fe-a32279a8708f", false, 55, [], 865, false, "mMlgMMxWp2o", "https://www.youtube.com/watch?v=mMlgMMxWp2o", 9, "/downloads/Boylei Hobby Time/Season 2026/s2026e053100 - Making a Dynamic WWII Diorama.mp4", false, false, 98, ~U[2026-05-31 13:00:18Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama split down the middle, divided by time. Shoutout to Ginger for supplying the tank model kit!\n\nCheck out SpencerQuiad Hobby’s video here: https://www.youtube.com/watch?v=qxHHYl2VP-4\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making a Dynamic WWII Diorama", 55, 865, false, "mMlgMMxWp2o", "https://www.youtube.com/watch?v=mMlgMMxWp2o", "/downloads/Boylei Hobby Time/Season 2026/s2026e053100 - Making a Dynamic WWII Diorama.mp4", false, ~U[2026-05-31 13:00:18Z]] 04:19:57.947 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.947 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 13:00:09Z], 55] 04:19:57.948 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://www.kiwico.com/boylei and use code BOYLEI at checkout for 50% off your first monthly KiwiCo crate (ages 3+) and 20% off your first Panda Crate (ages 0-36 months)!\n\nIn this video, I made a diorama using deep pour epoxy resin and clay to create an angler fish hunting a little human.\n\nGo check out the WIW playlist for more adventures like this: \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Don't Walk on the Ice at Night | Epoxy Resin Diorama", "bca3bf2a-dc87-4b4c-8501-364230094798", false, 55, [], 997, false, "WCoElK4azg4", "https://www.youtube.com/watch?v=WCoElK4azg4", 10, "/downloads/Boylei Hobby Time/Season 2026/s2026e052400 - Don't Walk on the Ice at Night | Epoxy Resin Diorama.mp4", false, false, 98, ~U[2026-05-24 13:00:09Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "Go to https://www.kiwico.com/boylei and use code BOYLEI at checkout for 50% off your first monthly KiwiCo crate (ages 3+) and 20% off your first Panda Crate (ages 0-36 months)!\n\nIn this video, I made a diorama using deep pour epoxy resin and clay to create an angler fish hunting a little human.\n\nGo check out the WIW playlist for more adventures like this: \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Don't Walk on the Ice at Night | Epoxy Resin Diorama", 55, 997, false, "WCoElK4azg4", "https://www.youtube.com/watch?v=WCoElK4azg4", "/downloads/Boylei Hobby Time/Season 2026/s2026e052400 - Don't Walk on the Ice at Night | Epoxy Resin Diorama.mp4", false, ~U[2026-05-24 13:00:09Z]] 04:19:57.949 [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" = ?) [55] 04:19:57.949 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-17 13:01:28Z], 55] 04:19:57.950 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama featuring a miniature battle between Darth Maul and some Clones Troopers with realistic looking blaster bolts and lightsabers made from LED filaments. \n\nFor more Star Wars content, check out my playlist here: https://youtube.com/playlist?list=PLnnacC77w_zBZNs_UaK39afpUD78FWj3k&si=DPTCc3GFQ4PPrk-j\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama", "f625469a-b5cb-4dee-a29c-5a9f4d1dae4e", false, 55, [], 644, false, "qDfSjU5HtY0", "https://www.youtube.com/watch?v=qDfSjU5HtY0", 11, "/downloads/Boylei Hobby Time/Season 2026/s2026e051700 - Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama.mp4", false, false, 98, ~U[2026-05-17 13:01:28Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama featuring a miniature battle between Darth Maul and some Clones Troopers with realistic looking blaster bolts and lightsabers made from LED filaments. \n\nFor more Star Wars content, check out my playlist here: https://youtube.com/playlist?list=PLnnacC77w_zBZNs_UaK39afpUD78FWj3k&si=DPTCc3GFQ4PPrk-j\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama", 55, 644, false, "qDfSjU5HtY0", "https://www.youtube.com/watch?v=qDfSjU5HtY0", "/downloads/Boylei Hobby Time/Season 2026/s2026e051700 - Is the New Darth Maul Show Any Good? | Realistic Star Wars Diorama.mp4", false, ~U[2026-05-17 13:01:28Z]] 04:19:57.950 [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" = ?) [55] 04:19:57.951 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-10 13:01:36Z], 55] 04:19:57.951 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This week, I put together, based, and painted more of the available minis for the upcoming tabletop miniature game, Gundam Assemble. I loved it. \n\nThis might have to be my favorite scale of Gundam so far.\n\nif you see this, comment \"Gundam Card Game\" to keep the meme going.\n\nFollow me on Instagram! @boyleihobbies\n\n——————————————————————————\n\nCircle Drawing Tool - https://amzn.to/3IdHSln\n\nWet Palette - https://amzn.to/4mQVnXc\n\nBrushes - https://amzn.to/4p7N0Z3\n\nBits Box Starter Sets: \nhttps://amzn.to/45QIp5U\nhttps://amzn.to/463UYcU\n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "GUNDAM MINIATURES", "5f98042e-9131-4e4e-82c0-8e1cc46d710e", false, 55, [], 763, false, "sjn7gjR68IU", "https://www.youtube.com/watch?v=sjn7gjR68IU", 12, "/downloads/Boylei Hobby Time/Season 2026/s2026e051000 - GUNDAM MINIATURES.mp4", false, false, 98, ~U[2026-05-10 13:01:36Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "This week, I put together, based, and painted more of the available minis for the upcoming tabletop miniature game, Gundam Assemble. I loved it. \n\nThis might have to be my favorite scale of Gundam so far.\n\nif you see this, comment \"Gundam Card Game\" to keep the meme going.\n\nFollow me on Instagram! @boyleihobbies\n\n——————————————————————————\n\nCircle Drawing Tool - https://amzn.to/3IdHSln\n\nWet Palette - https://amzn.to/4mQVnXc\n\nBrushes - https://amzn.to/4p7N0Z3\n\nBits Box Starter Sets: \nhttps://amzn.to/45QIp5U\nhttps://amzn.to/463UYcU\n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "GUNDAM MINIATURES", 55, 763, false, "sjn7gjR68IU", "https://www.youtube.com/watch?v=sjn7gjR68IU", "/downloads/Boylei Hobby Time/Season 2026/s2026e051000 - GUNDAM MINIATURES.mp4", false, ~U[2026-05-10 13:01:36Z]] 04:19:57.952 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.952 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 13:00:02Z], 55] 04:19:57.953 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a man-eating swamp called the Bog. This is a creature from the WIW.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\nCheck out the WIW playlist for more! https://youtube.com/playlist?list=PLnnacC77w_zDzkogVYPHf_STVYe4q1qER&si=4NbvQp_5pVmLCEUX \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "This is No Ordinary Swamp | Epoxy Resin Diorama", "831ba5e1-368c-497f-ab5f-b43cdd552f93", false, 55, [], 694, false, "-qBZaPHYWx0", "https://www.youtube.com/watch?v=-qBZaPHYWx0", 13, "/downloads/Boylei Hobby Time/Season 2026/s2026e050300 - This is No Ordinary Swamp | Epoxy Resin Diorama.mp4", false, false, 98, ~U[2026-05-03 13:00:02Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama of a man-eating swamp called the Bog. This is a creature from the WIW.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n\nCheck out the WIW playlist for more! https://youtube.com/playlist?list=PLnnacC77w_zDzkogVYPHf_STVYe4q1qER&si=4NbvQp_5pVmLCEUX \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "This is No Ordinary Swamp | Epoxy Resin Diorama", 55, 694, false, "-qBZaPHYWx0", "https://www.youtube.com/watch?v=-qBZaPHYWx0", "/downloads/Boylei Hobby Time/Season 2026/s2026e050300 - This is No Ordinary Swamp | Epoxy Resin Diorama.mp4", false, ~U[2026-05-03 13:00:02Z]] 04:19:57.953 [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" = ?) [55] 04:19:57.954 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-26 13:01:03Z], 55] 04:19:57.955 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a diorama of a large cougar sneaking up on a group of unsuspecting hunters in the Wild Imaginary West.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Terrifying Cougar Hunt Diorama | Realistic Terrain DIY", "d212e422-2661-4441-ad65-7943450e6f69", false, 55, [], 688, false, "cqI_GLQQd4Y", "https://www.youtube.com/watch?v=cqI_GLQQd4Y", 14, "/downloads/Boylei Hobby Time/Season 2026/s2026e042600 - Terrifying Cougar Hunt Diorama | Realistic Terrain DIY.mp4", false, false, 98, ~U[2026-04-26 13:01:03Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a diorama of a large cougar sneaking up on a group of unsuspecting hunters in the Wild Imaginary West.\n\nFor more info about the WIW RPG click here: https://runefoundry.com/collections/all-wild-imaginary-west-rpg-products\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Terrifying Cougar Hunt Diorama | Realistic Terrain DIY", 55, 688, false, "cqI_GLQQd4Y", "https://www.youtube.com/watch?v=cqI_GLQQd4Y", "/downloads/Boylei Hobby Time/Season 2026/s2026e042600 - Terrifying Cougar Hunt Diorama | Realistic Terrain DIY.mp4", false, ~U[2026-04-26 13:01:03Z]] 04:19:57.955 [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" = ?) [55] 04:19:57.955 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-19 13:00:34Z], 55] 04:19:57.957 [debug] QUERY OK source="media_items" db=1.2ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I build and paint a miniature version of \u200B\u2060the @Corridor studio and present it to the @CorridorCrew. \n\nHere’s a link to Daniel’s video: https://youtu.be/fERSX9oV0kE?si=26A_ZZEOZATu9K5K\n\nHere’s the link for Daniel’s printable diorama set: https://makerworld.com/en/models/2784006-corridor-crew-forced-perspective-diorama\n\nOn my way to deliver the diorama, I stopped to see Brent from @GhostTownLiving and Joey from @manmadecrafts! \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "VFX Artists React to Being in a Diorama", "757511b5-4239-43ac-bb47-7a37b78565a4", false, 55, [], 851, false, "HY_2DdOA6qM", "https://www.youtube.com/watch?v=HY_2DdOA6qM", 15, "/downloads/Boylei Hobby Time/Season 2026/s2026e041900 - VFX Artists React to Being in a Diorama.mp4", false, false, 98, ~U[2026-04-19 13:00:34Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I build and paint a miniature version of \u200B\u2060the @Corridor studio and present it to the @CorridorCrew. \n\nHere’s a link to Daniel’s video: https://youtu.be/fERSX9oV0kE?si=26A_ZZEOZATu9K5K\n\nHere’s the link for Daniel’s printable diorama set: https://makerworld.com/en/models/2784006-corridor-crew-forced-perspective-diorama\n\nOn my way to deliver the diorama, I stopped to see Brent from @GhostTownLiving and Joey from @manmadecrafts! \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "VFX Artists React to Being in a Diorama", 55, 851, false, "HY_2DdOA6qM", "https://www.youtube.com/watch?v=HY_2DdOA6qM", "/downloads/Boylei Hobby Time/Season 2026/s2026e041900 - VFX Artists React to Being in a Diorama.mp4", false, ~U[2026-04-19 13:00:34Z]] 04:19:57.957 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.958 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:54Z], 55] 04:19:57.958 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I paint a miniature of Jeremiah the Prophet, sculpted by Cauê Costa based off the art of Horace Vernet. I tell the story of Jeremiah as I paint him.\n\nIf you would like to talk about anything in the video, shoot me an email at the address in my bio. All conversations is welcome.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Why Does Nobody Listen to this Guy? | Biblical Character Story", "3d0350e0-cee4-410b-963d-edfe6272d9bc", false, 55, [], 638, false, "Sp0DdUBnZG8", "https://www.youtube.com/watch?v=Sp0DdUBnZG8", 16, "/downloads/Boylei Hobby Time/Season 2026/s2026e041200 - Why Does Nobody Listen to this Guy? | Biblical Character Story.mp4", false, false, 98, ~U[2026-04-12 13:00:54Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I paint a miniature of Jeremiah the Prophet, sculpted by Cauê Costa based off the art of Horace Vernet. I tell the story of Jeremiah as I paint him.\n\nIf you would like to talk about anything in the video, shoot me an email at the address in my bio. All conversations is welcome.\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Why Does Nobody Listen to this Guy? | Biblical Character Story", 55, 638, false, "Sp0DdUBnZG8", "https://www.youtube.com/watch?v=Sp0DdUBnZG8", "/downloads/Boylei Hobby Time/Season 2026/s2026e041200 - Why Does Nobody Listen to this Guy? | Biblical Character Story.mp4", false, ~U[2026-04-12 13:00:54Z]] 04:19:57.959 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.959 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 13:00:00Z], 55] 04:19:57.960 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I made a bug killer bot that somehow wound up on the wrong planet at the wrong time. Typical intergalactic shipping mishap shenanigans.\n\nThis is a part of the Big Bot Bash, put on by @BillMakingStuff \nGo watch the rest of the videos here: https://www.youtube.com/playlist?list=PL_Dy-JTi6hDS-n6x1i4EUaSIgcD6McNV- \n\nAlso! If you’d like to own one of my projects, you can bid here! Only a couple days left!\nhttps://www.ebay.com/usr/boyleihobbytime\n\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build", "107bca9d-1989-4f3b-8c3d-2c917670fcac", false, 55, [], 813, false, "3dSn8nJLFSQ", "https://www.youtube.com/watch?v=3dSn8nJLFSQ", 17, "/downloads/Boylei Hobby Time/Season 2026/s2026e032900 - That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build.mp4", false, false, 98, ~U[2026-03-29 13:00:00Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I made a bug killer bot that somehow wound up on the wrong planet at the wrong time. Typical intergalactic shipping mishap shenanigans.\n\nThis is a part of the Big Bot Bash, put on by @BillMakingStuff \nGo watch the rest of the videos here: https://www.youtube.com/playlist?list=PL_Dy-JTi6hDS-n6x1i4EUaSIgcD6McNV- \n\nAlso! If you’d like to own one of my projects, you can bid here! Only a couple days left!\nhttps://www.ebay.com/usr/boyleihobbytime\n\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build", 55, 813, false, "3dSn8nJLFSQ", "https://www.youtube.com/watch?v=3dSn8nJLFSQ", "/downloads/Boylei Hobby Time/Season 2026/s2026e032900 - That Awkward Moment When You Get the Wrong Delivery | Custom Robot Build.mp4", false, ~U[2026-03-29 13:00:00Z]] 04:19:57.960 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.961 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 13:00:40Z], 55] 04:19:57.962 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I turn a packing insert from a table saw into a large playable gaming board using bits and pieces from around my shop.\n\nThe auction for the workshop fund is now closed! Thanks to everyone who participated! \n\n3D Files Used: \n\nHsprods Miniatures - https://www.myminifactory.com/object/3d-print-basing-bits-asset-props-terrain-scifi-460344 \n\nhttps://www.myminifactory.com/object/3d-print-basing-bits-vents-trap-for-terrain-423171 \n\nSaucerman Studios - https://www.myminifactory.com/object/3d-print-sci-fi-greebles-stl-pack-3-357805 \n\nhttps://www.myminifactory.com/object/3d-print-sci-fi-greebles-pack-1-186995 \n\nMultiverse - https://www.myminifactory.com/object/3d-print-ancient-starport-wall-greebles-229124 \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making Terrain Too Big for My Own Good", "6fe4c1c0-5223-496a-b5da-1baa8ce79dc0", false, 55, [], 792, false, "NUA2RvlRjcs", "https://www.youtube.com/watch?v=NUA2RvlRjcs", 18, "/downloads/Boylei Hobby Time/Season 2026/s2026e032200 - Making Terrain Too Big for My Own Good.mp4", false, false, 98, ~U[2026-03-22 13:00:40Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "In this video, I turn a packing insert from a table saw into a large playable gaming board using bits and pieces from around my shop.\n\nThe auction for the workshop fund is now closed! Thanks to everyone who participated! \n\n3D Files Used: \n\nHsprods Miniatures - https://www.myminifactory.com/object/3d-print-basing-bits-asset-props-terrain-scifi-460344 \n\nhttps://www.myminifactory.com/object/3d-print-basing-bits-vents-trap-for-terrain-423171 \n\nSaucerman Studios - https://www.myminifactory.com/object/3d-print-sci-fi-greebles-stl-pack-3-357805 \n\nhttps://www.myminifactory.com/object/3d-print-sci-fi-greebles-pack-1-186995 \n\nMultiverse - https://www.myminifactory.com/object/3d-print-ancient-starport-wall-greebles-229124 \n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Making Terrain Too Big for My Own Good", 55, 792, false, "NUA2RvlRjcs", "https://www.youtube.com/watch?v=NUA2RvlRjcs", "/downloads/Boylei Hobby Time/Season 2026/s2026e032200 - Making Terrain Too Big for My Own Good.mp4", false, ~U[2026-03-22 13:00:40Z]] 04:19:57.962 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 04:19:57.962 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-15 13:01:18Z], 55] 04:19:57.963 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Super Mario Galaxy Movie is coming out next month. I watched the trailers and saw a fun diorama. Enjoy!\n\nScale-a-ton’s foil water tutorial - https://www.youtube.com/watch?v=VmygMsFCkcs&t=283s\n\nPeach’s Castle file - https://cults3d.com/en/3d-model/game/princess-peach-castle\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Super Mario Galaxy Diorama Build", "3f3c0d8b-9cc8-43f5-988c-462c59ae1c11", false, 55, [], 1020, false, "gr6W-KcXZ0o", "https://www.youtube.com/watch?v=gr6W-KcXZ0o", 19, "/downloads/Boylei Hobby Time/Season 2026/s2026e031500 - Super Mario Galaxy Diorama Build.mp4", false, false, 98, ~U[2026-03-15 13:01:18Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "The Super Mario Galaxy Movie is coming out next month. I watched the trailers and saw a fun diorama. Enjoy!\n\nScale-a-ton’s foil water tutorial - https://www.youtube.com/watch?v=VmygMsFCkcs&t=283s\n\nPeach’s Castle file - https://cults3d.com/en/3d-model/game/princess-peach-castle\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "Super Mario Galaxy Diorama Build", 55, 1020, false, "gr6W-KcXZ0o", "https://www.youtube.com/watch?v=gr6W-KcXZ0o", "/downloads/Boylei Hobby Time/Season 2026/s2026e031500 - Super Mario Galaxy Diorama Build.mp4", false, ~U[2026-03-15 13:01:18Z]] 04:19:57.964 [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" = ?) [55] 04:19:57.964 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-08 13:01:34Z], 55] 04:19:57.974 [debug] QUERY OK source="media_items" db=10.0ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This week, I made a final stand diorama featuring General Grievous surrounded by a vicious swarm of Xenomorphs. I hope you enjoy!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Brutal Star Wars Diorama", "859a7528-97f1-47df-a8c3-13a92bddadcd", false, 55, [], 712, false, "shViGPwaRQ0", "https://www.youtube.com/watch?v=shViGPwaRQ0", 20, "/downloads/Boylei Hobby Time/Season 2026/s2026e030800 - How to Make a Brutal Star Wars Diorama.mp4", false, false, 98, ~U[2026-03-08 13:01:34Z], ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], "This week, I made a final stand diorama featuring General Grievous surrounded by a vicious swarm of Xenomorphs. I hope you enjoy!\n\n——————————————————————————\n\nFollow me on Instagram: @boyleihobbies\n\nIf you like what I do, consider joining my Patreon! https://patreon.com/Boylei \n\nCheck out my Amazon storefront for my recommended crafting items:\nhttps://www.amazon.com/shop/boyleihobbytime/list/1149UA0C6L5O2?ref_=cm_sw_r_cp_ud_aipsflist_189P72YV9B9YAJW8C729 \n\n——————————————————————————\n\n\nDisclaimer: Some of the actions seen in my craft videos could cause physical harm. I am not responsible for anything you do while attempting to recreate what you see me do. Please be safe!\n\nAmazon Affiliate links are used above", "How to Make a Brutal Star Wars Diorama", 55, 712, false, "shViGPwaRQ0", "https://www.youtube.com/watch?v=shViGPwaRQ0", "/downloads/Boylei Hobby Time/Season 2026/s2026e030800 - How to Make a Brutal Star Wars Diorama.mp4", false, ~U[2026-03-08 13:01:34Z]] 04:19:57.975 [debug] QUERY OK source="sources" db=0.1ms idle=11.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z], 55] 04:19:57.975 [debug] QUERY OK source="media_items" db=0.6ms idle=11.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [55] 04:19:57.976 [debug] QUERY OK source="media_items" db=0.5ms idle=11.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [55] 04:19:57.976 [debug] QUERY OK source="media_items" db=0.1ms idle=12.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [55] 04:19:57.977 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133838, 55, ~U[2026-08-05 02:19:57Z], ~U[2026-08-05 02:19:57Z]] 04:19:57.978 [info] {"args":{"id":55},"id":133330,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":16891117,"event":"job:stop","queue_time":370019,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:20:00.437 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:17.094 [info] {"source":"oban","duration":2598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:47.096 [info] {"source":"oban","duration":2529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:57.165 [info] {"args":{"id":32},"id":133331,"meta":{},"system_time":1785896457165697134,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:20:57.166 [debug] QUERY OK source="sources" db=0.2ms idle=300.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:20:57.166 [debug] QUERY OK source="settings" db=0.1ms idle=300.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.176 [debug] QUERY OK source="media_items" db=9.6ms idle=8.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 04:20:57.176 [debug] QUERY OK source="media_items" db=0.2ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 04:20:57.176 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:20:57.176 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.176 [debug] QUERY OK source="settings" db=0.0ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.178 [debug] QUERY OK source="media_items" db=0.6ms idle=1.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [32] 04:20:57.179 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:20:57.179 [debug] Current batch of media processed. Will check again in 1000ms 04:20:57.179 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.179 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.179 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:57.179 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@DIYPerks --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/DIY Perks/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/3f/a3/3fa3cc48b27c0bf02c41fda2f8849200aae4fbd4ed8c09ef5e308265494aabb2.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8f/c8/8fc83200f3426aad6bf1a7da2c845954142ec6d761a16de1a209bbe4cf0fd78f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:20:58.180 [debug] Current batch of media processed. Will check again in 1000ms 04:20:59.181 [debug] Current batch of media processed. Will check again in 1000ms 04:21:00.182 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Tech is getting expensive, so let's get creative! Also, optimise your workflow! Download Opera for free today: https://opr.as/08-Opera-browser-diyperks\n\nForum FAQ thread: https://forum.diyperks.com/computers/video-recycling-destroyed-tech-into-beautiful-pcs/\n\nSearch term links (these are affiliate links, where I earn a commission if you buy anything through them):\n\neBay US: https://ebay.us/QzBzWz\neBay UK: https://ebay.us/NEsWfC", "duration" => 1478, "filename" => "/downloads/DIY Perks/Season 2026/s2026e071700 - Transforming dead hardware into high-performance PCs.mp4", "id" => "7FStfdGjAwc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7FStfdGjAwc", "playlist_index" => 1, "timestamp" => 1784289619, "title" => "Transforming dead hardware into high-performance PCs", "upload_date" => "20260717"} 04:21:00.182 [debug] QUERY OK source="sources" db=0.1ms idle=1317.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:00.183 [debug] QUERY OK source="sources" db=0.1ms idle=1022.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:00.183 [debug] QUERY OK source="media_items" db=0.1ms idle=1017.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 12:00:19Z], 32] 04:21:00.184 [debug] QUERY OK source="media_items" db=0.7ms idle=22.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Tech is getting expensive, so let's get creative! Also, optimise your workflow! Download Opera for free today: https://opr.as/08-Opera-browser-diyperks\n\nForum FAQ thread: https://forum.diyperks.com/computers/video-recycling-destroyed-tech-into-beautiful-pcs/\n\nSearch term links (these are affiliate links, where I earn a commission if you buy anything through them):\n\neBay US: https://ebay.us/QzBzWz\neBay UK: https://ebay.us/NEsWfC", "Transforming dead hardware into high-performance PCs", "8f2f6d88-7b60-4754-9abc-4f6109dbcf3e", false, 32, [], 1478, false, "7FStfdGjAwc", "https://www.youtube.com/watch?v=7FStfdGjAwc", 1, "/downloads/DIY Perks/Season 2026/s2026e071700 - Transforming dead hardware into high-performance PCs.mp4", false, false, 98, ~U[2026-07-17 12:00:19Z], ~U[2026-08-05 02:21:00Z], ~U[2026-08-05 02:21:00Z], "Tech is getting expensive, so let's get creative! Also, optimise your workflow! Download Opera for free today: https://opr.as/08-Opera-browser-diyperks\n\nForum FAQ thread: https://forum.diyperks.com/computers/video-recycling-destroyed-tech-into-beautiful-pcs/\n\nSearch term links (these are affiliate links, where I earn a commission if you buy anything through them):\n\neBay US: https://ebay.us/QzBzWz\neBay UK: https://ebay.us/NEsWfC", "Transforming dead hardware into high-performance PCs", 32, 1478, false, "7FStfdGjAwc", "https://www.youtube.com/watch?v=7FStfdGjAwc", "/downloads/DIY Perks/Season 2026/s2026e071700 - Transforming dead hardware into high-performance PCs.mp4", false, ~U[2026-07-17 12:00:19Z]] 04:21:00.184 [debug] QUERY OK source="sources" db=0.2ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:00.184 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:00.185 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5183601] 04:21:00.185 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What does it take to power one of the world's brightest LEDs? Also, take back your personal data with Incogni! Use code DIYPERKS at the link below and get 60% off an annual plan: https://incogni.com/diyperks", "duration" => 1507, "filename" => "/downloads/DIY Perks/Season 2026/s2026e022800 - Building an LED SUPERNOVA!.mp4", "id" => "rqCt61ZbU10", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rqCt61ZbU10", "playlist_index" => 2, "timestamp" => 1772280913, "title" => "Building an LED SUPERNOVA!", "upload_date" => "20260228"} 04:21:00.185 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:00.185 [debug] QUERY OK source="sources" db=0.0ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:00.185 [debug] QUERY OK source="media_items" db=0.1ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 12:15:13Z], 32] 04:21:00.195 [debug] QUERY OK source="media_items" db=9.5ms idle=1.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What does it take to power one of the world's brightest LEDs? Also, take back your personal data with Incogni! Use code DIYPERKS at the link below and get 60% off an annual plan: https://incogni.com/diyperks", "Building an LED SUPERNOVA!", "bc744af0-205d-4756-8528-09480e2c019c", false, 32, [], 1507, false, "rqCt61ZbU10", "https://www.youtube.com/watch?v=rqCt61ZbU10", 2, "/downloads/DIY Perks/Season 2026/s2026e022800 - Building an LED SUPERNOVA!.mp4", false, false, 98, ~U[2026-02-28 12:15:13Z], ~U[2026-08-05 02:21:00Z], ~U[2026-08-05 02:21:00Z], "What does it take to power one of the world's brightest LEDs? Also, take back your personal data with Incogni! Use code DIYPERKS at the link below and get 60% off an annual plan: https://incogni.com/diyperks", "Building an LED SUPERNOVA!", 32, 1507, false, "rqCt61ZbU10", "https://www.youtube.com/watch?v=rqCt61ZbU10", "/downloads/DIY Perks/Season 2026/s2026e022800 - Building an LED SUPERNOVA!.mp4", false, ~U[2026-02-28 12:15:13Z]] 04:21:00.195 [debug] QUERY OK source="sources" db=0.1ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:00.196 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:00.196 [debug] QUERY OK source="media_items" db=0.1ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4694592] 04:21:00.196 [debug] Current batch of media processed. Will check again in 1000ms 04:21:00.438 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:01.197 [debug] Current batch of media processed. Will check again in 1000ms 04:21:02.198 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built my very own Hobbit House out of mud and straw! Want a better shave? Visit http://hensonshaving.com/DIYperks or use code DIYperks to receive 100 free blades with the purchase of a razor. Just make sure both products are in your cart for the code to take effect.\n\nBuilding a tiny house has a lot of advantages, and in this video Matt experiments with building a hobbit house variety. Using locally sourced clay and straw, with his friends he builds something truly unique - a small habbitable home with very strong ecological credentials. Will it be comfortable enough to spend a night in? Let's find out!", "duration" => 1219, "filename" => "/downloads/DIY Perks/Season 2025/s2025e083100 - DIY Perks builds a beautiful mud hut... (a break from technology).mp4", "id" => "o6Z0MxWCbrc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o6Z0MxWCbrc", "playlist_index" => 3, "timestamp" => 1756643464, "title" => "DIY Perks builds a beautiful mud hut... (a break from technology)", "upload_date" => "20250831"} 04:21:02.199 [debug] QUERY OK source="sources" db=0.2ms idle=333.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:02.199 [debug] QUERY OK source="sources" db=0.1ms idle=333.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:02.200 [debug] QUERY OK source="media_items" db=0.3ms idle=334.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 12:31:04Z], 32] 04:21:02.201 [debug] QUERY OK source="media_items" db=0.9ms idle=36.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built my very own Hobbit House out of mud and straw! Want a better shave? Visit http://hensonshaving.com/DIYperks or use code DIYperks to receive 100 free blades with the purchase of a razor. Just make sure both products are in your cart for the code to take effect.\n\nBuilding a tiny house has a lot of advantages, and in this video Matt experiments with building a hobbit house variety. Using locally sourced clay and straw, with his friends he builds something truly unique - a small habbitable home with very strong ecological credentials. Will it be comfortable enough to spend a night in? Let's find out!", "DIY Perks builds a beautiful mud hut... (a break from technology)", "47e27c07-a727-4fc1-9a71-b41f84b1b7ce", false, 32, [], 1219, false, "o6Z0MxWCbrc", "https://www.youtube.com/watch?v=o6Z0MxWCbrc", 3, "/downloads/DIY Perks/Season 2025/s2025e083100 - DIY Perks builds a beautiful mud hut... (a break from technology).mp4", false, false, 98, ~U[2025-08-31 12:31:04Z], ~U[2026-08-05 02:21:02Z], ~U[2026-08-05 02:21:02Z], "I built my very own Hobbit House out of mud and straw! Want a better shave? Visit http://hensonshaving.com/DIYperks or use code DIYperks to receive 100 free blades with the purchase of a razor. Just make sure both products are in your cart for the code to take effect.\n\nBuilding a tiny house has a lot of advantages, and in this video Matt experiments with building a hobbit house variety. Using locally sourced clay and straw, with his friends he builds something truly unique - a small habbitable home with very strong ecological credentials. Will it be comfortable enough to spend a night in? Let's find out!", "DIY Perks builds a beautiful mud hut... (a break from technology)", 32, 1219, false, "o6Z0MxWCbrc", "https://www.youtube.com/watch?v=o6Z0MxWCbrc", "/downloads/DIY Perks/Season 2025/s2025e083100 - DIY Perks builds a beautiful mud hut... (a break from technology).mp4", false, ~U[2025-08-31 12:31:04Z]] 04:21:02.201 [debug] QUERY OK source="sources" db=0.2ms idle=31.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:02.201 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:02.202 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4114207] 04:21:02.202 [debug] Current batch of media processed. Will check again in 1000ms 04:21:03.203 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video we'll explore the future of wireless power delivery! Also, supercharge your business with Odoo today! https://www.odoo.com/r/KH6\n\nBig thanks to ETI for sending the wireless power sytem over for me to experiment with. If you want to design a product with one (even just a prototype) send them your ideas! https://www.etherdyne.net/evalkit and check out more demos by them here: https://www.youtube.com/@wirefree-power\n\nForum thread for further discussion, and file downloads for the speakers etc: https://forum.diyperks.com/general-general/3d-wireless-power-delivery/", "duration" => 1354, "filename" => "/downloads/DIY Perks/Season 2025/s2025e060300 - True Wireless Power is FINALLY here (building a TRULY wire-free setup).mp4", "id" => "EyR2-C9ggi0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EyR2-C9ggi0", "playlist_index" => 4, "timestamp" => 1748955633, "title" => "True Wireless Power is FINALLY here (building a TRULY wire-free setup)", "upload_date" => "20250603"} 04:21:03.203 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:03.204 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:03.204 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-03 13:00:33Z], 32] 04:21:03.215 [debug] QUERY OK source="media_items" db=10.0ms idle=39.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video we'll explore the future of wireless power delivery! Also, supercharge your business with Odoo today! https://www.odoo.com/r/KH6\n\nBig thanks to ETI for sending the wireless power sytem over for me to experiment with. If you want to design a product with one (even just a prototype) send them your ideas! https://www.etherdyne.net/evalkit and check out more demos by them here: https://www.youtube.com/@wirefree-power\n\nForum thread for further discussion, and file downloads for the speakers etc: https://forum.diyperks.com/general-general/3d-wireless-power-delivery/", "True Wireless Power is FINALLY here (building a TRULY wire-free setup)", "2658129b-7bc6-4987-ac97-18927d96b09e", false, 32, [], 1354, false, "EyR2-C9ggi0", "https://www.youtube.com/watch?v=EyR2-C9ggi0", 4, "/downloads/DIY Perks/Season 2025/s2025e060300 - True Wireless Power is FINALLY here (building a TRULY wire-free setup).mp4", false, false, 98, ~U[2025-06-03 13:00:33Z], ~U[2026-08-05 02:21:03Z], ~U[2026-08-05 02:21:03Z], "In this video we'll explore the future of wireless power delivery! Also, supercharge your business with Odoo today! https://www.odoo.com/r/KH6\n\nBig thanks to ETI for sending the wireless power sytem over for me to experiment with. If you want to design a product with one (even just a prototype) send them your ideas! https://www.etherdyne.net/evalkit and check out more demos by them here: https://www.youtube.com/@wirefree-power\n\nForum thread for further discussion, and file downloads for the speakers etc: https://forum.diyperks.com/general-general/3d-wireless-power-delivery/", "True Wireless Power is FINALLY here (building a TRULY wire-free setup)", 32, 1354, false, "EyR2-C9ggi0", "https://www.youtube.com/watch?v=EyR2-C9ggi0", "/downloads/DIY Perks/Season 2025/s2025e060300 - True Wireless Power is FINALLY here (building a TRULY wire-free setup).mp4", false, ~U[2025-06-03 13:00:33Z]] 04:21:03.215 [debug] QUERY OK source="sources" db=0.2ms idle=43.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:03.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:03.216 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3743987] 04:21:03.216 [debug] Current batch of media processed. Will check again in 1000ms 04:21:04.217 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Merging an old TV with an old projector creates magical results! Also, start using Odoo today! https://www.odoo.com/r/y7C\n\n\nDiscuss on the DIY Perks Discord server: https://discord.com/invite/XuTCwVwwnC\n\nForum thread for further development: https://forum.diyperks.com/displays-and-monitors-tvs/diy-infinity-contrast-display-projector-lcd-backlight-mod-development-thread/\n\nOBS Glow Filter: https://obsproject.com/forum/resources/stroke-glow-shadow.1800/", "duration" => 1103, "filename" => "/downloads/DIY Perks/Season 2025/s2025e030100 - DIY "infinity contrast" TV - with 100% recycled parts.mp4", "id" => "qXrn4MqY1Wo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qXrn4MqY1Wo", "playlist_index" => 5, "timestamp" => 1740813303, "title" => "DIY \"infinity contrast\" TV - with 100% recycled parts", "upload_date" => "20250301"} 04:21:04.218 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:04.218 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:04.218 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-01 07:15:03Z], 32] 04:21:04.229 [debug] QUERY OK source="media_items" db=9.9ms idle=51.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Merging an old TV with an old projector creates magical results! Also, start using Odoo today! https://www.odoo.com/r/y7C\n\n\nDiscuss on the DIY Perks Discord server: https://discord.com/invite/XuTCwVwwnC\n\nForum thread for further development: https://forum.diyperks.com/displays-and-monitors-tvs/diy-infinity-contrast-display-projector-lcd-backlight-mod-development-thread/\n\nOBS Glow Filter: https://obsproject.com/forum/resources/stroke-glow-shadow.1800/", "DIY \"infinity contrast\" TV - with 100% recycled parts", "624ca3a7-60b1-499c-ae40-4e910503ed88", false, 32, [], 1103, false, "qXrn4MqY1Wo", "https://www.youtube.com/watch?v=qXrn4MqY1Wo", 5, "/downloads/DIY Perks/Season 2025/s2025e030100 - DIY "infinity contrast" TV - with 100% recycled parts.mp4", false, false, 98, ~U[2025-03-01 07:15:03Z], ~U[2026-08-05 02:21:04Z], ~U[2026-08-05 02:21:04Z], "Merging an old TV with an old projector creates magical results! Also, start using Odoo today! https://www.odoo.com/r/y7C\n\n\nDiscuss on the DIY Perks Discord server: https://discord.com/invite/XuTCwVwwnC\n\nForum thread for further development: https://forum.diyperks.com/displays-and-monitors-tvs/diy-infinity-contrast-display-projector-lcd-backlight-mod-development-thread/\n\nOBS Glow Filter: https://obsproject.com/forum/resources/stroke-glow-shadow.1800/", "DIY \"infinity contrast\" TV - with 100% recycled parts", 32, 1103, false, "qXrn4MqY1Wo", "https://www.youtube.com/watch?v=qXrn4MqY1Wo", "/downloads/DIY Perks/Season 2025/s2025e030100 - DIY "infinity contrast" TV - with 100% recycled parts.mp4", false, ~U[2025-03-01 07:15:03Z]] 04:21:04.229 [debug] QUERY OK source="sources" db=0.1ms idle=55.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:04.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:04.230 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295141] 04:21:04.230 [debug] Current batch of media processed. Will check again in 1000ms 04:21:05.230 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Let's do surround sound, with lasers! Also, buy the LTT Ratcheting Multi-bit Screwdriver here: https://lmg.gg/perksdriver\n\n3D Models: https://payhip.com/b/3oXxU\n\nParts links: (these are affiliate links so DIY Perks may earn a commission)\n\nSPDIF/TOSLINK Converters: https://amzn.to/4iD37L0\nCheaper: https://www.aliexpress.us/w/wholesale-analog-to-digital-converter.html?spm=a2g0o.productlist.search.0\n\nTCP115-4 Driver: https://www.parts-express.com/Dayton-Audio-TCP115-4-4-Treated-Paper-Cone-Midbass-Woofer-4-Ohm-295-415\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-tcp115-4.html\n\nTweeter: https://amzn.to/3BfARxa\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fa-4.html\n\nCentre Channel Tweeter: https://amzn.to/3ZQPqjX\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fn-4.html\n\n4 Channel Amplifier: https://amzn.to/41saIps\n\nDSP: https://www.aliexpress.us/item/2255799930610711.html\n\nAcrylic tubes will need to be 2x 1000mm lengths, 70mm outside diameter, 66mm inside diameter", "duration" => 1285, "filename" => "/downloads/DIY Perks/Season 2024/s2024e121300 - DIY Surround Sound... USING LASERS!.mp4", "id" => "1H4FuNAByUs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1H4FuNAByUs", "playlist_index" => 6, "timestamp" => 1734119100, "title" => "DIY Surround Sound... USING LASERS!", "upload_date" => "20241213"} 04:21:05.230 [debug] QUERY OK source="sources" db=0.1ms idle=1001.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:05.231 [debug] QUERY OK source="sources" db=0.0ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:05.231 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-13 19:45:00Z], 32] 04:21:05.232 [debug] QUERY OK source="media_items" db=0.8ms idle=62.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's do surround sound, with lasers! Also, buy the LTT Ratcheting Multi-bit Screwdriver here: https://lmg.gg/perksdriver\n\n3D Models: https://payhip.com/b/3oXxU\n\nParts links: (these are affiliate links so DIY Perks may earn a commission)\n\nSPDIF/TOSLINK Converters: https://amzn.to/4iD37L0\nCheaper: https://www.aliexpress.us/w/wholesale-analog-to-digital-converter.html?spm=a2g0o.productlist.search.0\n\nTCP115-4 Driver: https://www.parts-express.com/Dayton-Audio-TCP115-4-4-Treated-Paper-Cone-Midbass-Woofer-4-Ohm-295-415\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-tcp115-4.html\n\nTweeter: https://amzn.to/3BfARxa\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fa-4.html\n\nCentre Channel Tweeter: https://amzn.to/3ZQPqjX\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fn-4.html\n\n4 Channel Amplifier: https://amzn.to/41saIps\n\nDSP: https://www.aliexpress.us/item/2255799930610711.html\n\nAcrylic tubes will need to be 2x 1000mm lengths, 70mm outside diameter, 66mm inside diameter", "DIY Surround Sound... USING LASERS!", "31fec569-cb96-4c38-8980-79dd90e7ba33", false, 32, [], 1285, false, "1H4FuNAByUs", "https://www.youtube.com/watch?v=1H4FuNAByUs", 6, "/downloads/DIY Perks/Season 2024/s2024e121300 - DIY Surround Sound... USING LASERS!.mp4", false, false, 98, ~U[2024-12-13 19:45:00Z], ~U[2026-08-05 02:21:05Z], ~U[2026-08-05 02:21:05Z], "Let's do surround sound, with lasers! Also, buy the LTT Ratcheting Multi-bit Screwdriver here: https://lmg.gg/perksdriver\n\n3D Models: https://payhip.com/b/3oXxU\n\nParts links: (these are affiliate links so DIY Perks may earn a commission)\n\nSPDIF/TOSLINK Converters: https://amzn.to/4iD37L0\nCheaper: https://www.aliexpress.us/w/wholesale-analog-to-digital-converter.html?spm=a2g0o.productlist.search.0\n\nTCP115-4 Driver: https://www.parts-express.com/Dayton-Audio-TCP115-4-4-Treated-Paper-Cone-Midbass-Woofer-4-Ohm-295-415\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-tcp115-4.html\n\nTweeter: https://amzn.to/3BfARxa\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fa-4.html\n\nCentre Channel Tweeter: https://amzn.to/3ZQPqjX\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fn-4.html\n\n4 Channel Amplifier: https://amzn.to/41saIps\n\nDSP: https://www.aliexpress.us/item/2255799930610711.html\n\nAcrylic tubes will need to be 2x 1000mm lengths, 70mm outside diameter, 66mm inside diameter", "DIY Surround Sound... USING LASERS!", 32, 1285, false, "1H4FuNAByUs", "https://www.youtube.com/watch?v=1H4FuNAByUs", "/downloads/DIY Perks/Season 2024/s2024e121300 - DIY Surround Sound... USING LASERS!.mp4", false, ~U[2024-12-13 19:45:00Z]] 04:21:05.232 [debug] QUERY OK source="sources" db=0.1ms idle=58.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:05.233 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:05.233 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295142] 04:21:05.233 [debug] Current batch of media processed. Will check again in 1000ms 04:21:06.234 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building the world's largest iphone turned out to be a MASSIVE challenge! Also, get your first Odoo app for free at https://www.odoo.com/r/cQpS\n\nGo and check out Arun's video here: https://youtu.be/CpCZNCm5zgw\n\n#OdooCreatorsClub #OdooApps @Odoo", "duration" => 1925, "filename" => "/downloads/DIY Perks/Season 2024/s2024e090600 - Building the world's largest WORKING iPhone!.mp4", "id" => "o8jFJAtVyr8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o8jFJAtVyr8", "playlist_index" => 7, "timestamp" => 1725627660, "title" => "Building the world's largest WORKING iPhone!", "upload_date" => "20240906"} 04:21:06.234 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:06.235 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:06.235 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-06 13:01:00Z], 32] 04:21:06.245 [debug] QUERY OK source="media_items" db=9.7ms idle=65.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the world's largest iphone turned out to be a MASSIVE challenge! Also, get your first Odoo app for free at https://www.odoo.com/r/cQpS\n\nGo and check out Arun's video here: https://youtu.be/CpCZNCm5zgw\n\n#OdooCreatorsClub #OdooApps @Odoo", "Building the world's largest WORKING iPhone!", "0c6de9ef-9890-4fa0-ae88-ca7d8e62fc90", false, 32, [], 1925, false, "o8jFJAtVyr8", "https://www.youtube.com/watch?v=o8jFJAtVyr8", 7, "/downloads/DIY Perks/Season 2024/s2024e090600 - Building the world's largest WORKING iPhone!.mp4", false, false, 98, ~U[2024-09-06 13:01:00Z], ~U[2026-08-05 02:21:06Z], ~U[2026-08-05 02:21:06Z], "Building the world's largest iphone turned out to be a MASSIVE challenge! Also, get your first Odoo app for free at https://www.odoo.com/r/cQpS\n\nGo and check out Arun's video here: https://youtu.be/CpCZNCm5zgw\n\n#OdooCreatorsClub #OdooApps @Odoo", "Building the world's largest WORKING iPhone!", 32, 1925, false, "o8jFJAtVyr8", "https://www.youtube.com/watch?v=o8jFJAtVyr8", "/downloads/DIY Perks/Season 2024/s2024e090600 - Building the world's largest WORKING iPhone!.mp4", false, ~U[2024-09-06 13:01:00Z]] 04:21:06.245 [debug] QUERY OK source="sources" db=0.1ms idle=69.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:06.246 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:06.246 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295143] 04:21:06.246 [debug] Current batch of media processed. Will check again in 1000ms 04:21:07.247 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Let's build the ENDGAME invisible PC! Thanks to FlexiSpot for sponsoring this project - they're having their Brand Day sale right now! Use code DIYPERKS to get $50 off on their E7 PRO and E7 PLUS desks: https://bit.ly/4d4HD71", "duration" => 1650, "filename" => "/downloads/DIY Perks/Season 2024/s2024e052300 - Building the ENDGAME invisible PC.mp4", "id" => "UQ6ueTe8KQM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UQ6ueTe8KQM", "playlist_index" => 8, "timestamp" => 1716480024, "title" => "Building the ENDGAME invisible PC", "upload_date" => "20240523"} 04:21:07.247 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:07.248 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:07.248 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 16:00:24Z], 32] 04:21:07.258 [debug] QUERY OK source="media_items" db=9.7ms idle=77.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's build the ENDGAME invisible PC! Thanks to FlexiSpot for sponsoring this project - they're having their Brand Day sale right now! Use code DIYPERKS to get $50 off on their E7 PRO and E7 PLUS desks: https://bit.ly/4d4HD71", "Building the ENDGAME invisible PC", "451e8229-6bff-4594-9b20-2c1819ec0984", false, 32, [], 1650, false, "UQ6ueTe8KQM", "https://www.youtube.com/watch?v=UQ6ueTe8KQM", 8, "/downloads/DIY Perks/Season 2024/s2024e052300 - Building the ENDGAME invisible PC.mp4", false, false, 98, ~U[2024-05-23 16:00:24Z], ~U[2026-08-05 02:21:07Z], ~U[2026-08-05 02:21:07Z], "Let's build the ENDGAME invisible PC! Thanks to FlexiSpot for sponsoring this project - they're having their Brand Day sale right now! Use code DIYPERKS to get $50 off on their E7 PRO and E7 PLUS desks: https://bit.ly/4d4HD71", "Building the ENDGAME invisible PC", 32, 1650, false, "UQ6ueTe8KQM", "https://www.youtube.com/watch?v=UQ6ueTe8KQM", "/downloads/DIY Perks/Season 2024/s2024e052300 - Building the ENDGAME invisible PC.mp4", false, ~U[2024-05-23 16:00:24Z]] 04:21:07.259 [debug] QUERY OK source="sources" db=0.1ms idle=82.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:07.259 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:07.259 [debug] QUERY OK source="media_items" db=0.2ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295144] 04:21:07.259 [debug] Current batch of media processed. Will check again in 1000ms 04:21:08.260 [debug] Current batch of media processed. Will check again in 1000ms 04:21:09.261 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Let's build the world's first PlayStation 5: Tablet Edition! Visit https://dbrand.com/diyperks if you'd like to customise your own PS5!\n\nCHANNEL LINKS:\nPatreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks", "duration" => 1090, "filename" => "/downloads/DIY Perks/Season 2024/s2024e011500 - Building a REAL PlayStation 5... PORTABLE!.mp4", "id" => "W4PHhurAhwc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W4PHhurAhwc", "playlist_index" => 9, "timestamp" => 1705327222, "title" => "Building a REAL PlayStation 5... PORTABLE!", "upload_date" => "20240115"} 04:21:09.261 [debug] QUERY OK source="sources" db=0.1ms idle=396.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:09.262 [debug] QUERY OK source="sources" db=0.0ms idle=396.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:09.262 [debug] QUERY OK source="media_items" db=0.2ms idle=396.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-15 14:00:22Z], 32] 04:21:09.272 [debug] QUERY OK source="media_items" db=9.7ms idle=89.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's build the world's first PlayStation 5: Tablet Edition! Visit https://dbrand.com/diyperks if you'd like to customise your own PS5!\n\nCHANNEL LINKS:\nPatreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks", "Building a REAL PlayStation 5... PORTABLE!", "f7f8284a-7893-42d1-92b3-d37cbbfd3122", false, 32, [], 1090, false, "W4PHhurAhwc", "https://www.youtube.com/watch?v=W4PHhurAhwc", 9, "/downloads/DIY Perks/Season 2024/s2024e011500 - Building a REAL PlayStation 5... PORTABLE!.mp4", false, false, 98, ~U[2024-01-15 14:00:22Z], ~U[2026-08-05 02:21:09Z], ~U[2026-08-05 02:21:09Z], "Let's build the world's first PlayStation 5: Tablet Edition! Visit https://dbrand.com/diyperks if you'd like to customise your own PS5!\n\nCHANNEL LINKS:\nPatreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks", "Building a REAL PlayStation 5... PORTABLE!", 32, 1090, false, "W4PHhurAhwc", "https://www.youtube.com/watch?v=W4PHhurAhwc", "/downloads/DIY Perks/Season 2024/s2024e011500 - Building a REAL PlayStation 5... PORTABLE!.mp4", false, ~U[2024-01-15 14:00:22Z]] 04:21:09.273 [debug] QUERY OK source="sources" db=0.1ms idle=93.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:09.273 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:09.273 [debug] QUERY OK source="media_items" db=0.2ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295145] 04:21:09.273 [debug] Current batch of media processed. Will check again in 1000ms 04:21:10.274 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sending PC hardware underwater in style! Thanks to ASUS for sponsoring this build! Visit https://asus.click/DIYPerks to check out the Zenbook Pro 14 Duo OLED for those in search of incredible!\n\nMaking a submersible PC has a lot of challenges, but also a lot of potential benefits. Namely COOLING! Sticking this in a 17c pond should yield impressive results... let's find out.\n\n\nBut thanks to ASUS for sponsoring this build, and for the various manufactures for sending over the hardware:\n\nZotac 4090: https://www.zotac.com/product/graphics_card/zotac-gaming-geforce-rtx-4090-trinity-0\nCrucial T700 SSDs: https://crucial.com/products/ssd/crucial-t700-ssd\nSeasonic Prime Titanium 1000w PSU: https://seasonic.com/prime-ultra-titanium\nWATERCOOLING PARTS: https://www.ekwb.com/\n\n#ASUS #InSearchOfIncredible #Submersible #ISOI2023 #Zenbook #ZenCreator", "duration" => 1202, "filename" => "/downloads/DIY Perks/Season 2023/s2023e073100 - Building an ACTUALLY water-cooled PC.mp4", "id" => "yFswDJPvtPY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yFswDJPvtPY", "playlist_index" => 10, "timestamp" => 1690830901, "title" => "Building an ACTUALLY water-cooled PC", "upload_date" => "20230731"} 04:21:10.275 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:10.275 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:10.275 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-31 19:15:01Z], 32] 04:21:10.286 [debug] QUERY OK source="media_items" db=9.9ms idle=101.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sending PC hardware underwater in style! Thanks to ASUS for sponsoring this build! Visit https://asus.click/DIYPerks to check out the Zenbook Pro 14 Duo OLED for those in search of incredible!\n\nMaking a submersible PC has a lot of challenges, but also a lot of potential benefits. Namely COOLING! Sticking this in a 17c pond should yield impressive results... let's find out.\n\n\nBut thanks to ASUS for sponsoring this build, and for the various manufactures for sending over the hardware:\n\nZotac 4090: https://www.zotac.com/product/graphics_card/zotac-gaming-geforce-rtx-4090-trinity-0\nCrucial T700 SSDs: https://crucial.com/products/ssd/crucial-t700-ssd\nSeasonic Prime Titanium 1000w PSU: https://seasonic.com/prime-ultra-titanium\nWATERCOOLING PARTS: https://www.ekwb.com/\n\n#ASUS #InSearchOfIncredible #Submersible #ISOI2023 #Zenbook #ZenCreator", "Building an ACTUALLY water-cooled PC", "61f41820-bed8-4f50-8492-6a2c48042d58", false, 32, [], 1202, false, "yFswDJPvtPY", "https://www.youtube.com/watch?v=yFswDJPvtPY", 10, "/downloads/DIY Perks/Season 2023/s2023e073100 - Building an ACTUALLY water-cooled PC.mp4", false, false, 98, ~U[2023-07-31 19:15:01Z], ~U[2026-08-05 02:21:10Z], ~U[2026-08-05 02:21:10Z], "Sending PC hardware underwater in style! Thanks to ASUS for sponsoring this build! Visit https://asus.click/DIYPerks to check out the Zenbook Pro 14 Duo OLED for those in search of incredible!\n\nMaking a submersible PC has a lot of challenges, but also a lot of potential benefits. Namely COOLING! Sticking this in a 17c pond should yield impressive results... let's find out.\n\n\nBut thanks to ASUS for sponsoring this build, and for the various manufactures for sending over the hardware:\n\nZotac 4090: https://www.zotac.com/product/graphics_card/zotac-gaming-geforce-rtx-4090-trinity-0\nCrucial T700 SSDs: https://crucial.com/products/ssd/crucial-t700-ssd\nSeasonic Prime Titanium 1000w PSU: https://seasonic.com/prime-ultra-titanium\nWATERCOOLING PARTS: https://www.ekwb.com/\n\n#ASUS #InSearchOfIncredible #Submersible #ISOI2023 #Zenbook #ZenCreator", "Building an ACTUALLY water-cooled PC", 32, 1202, false, "yFswDJPvtPY", "https://www.youtube.com/watch?v=yFswDJPvtPY", "/downloads/DIY Perks/Season 2023/s2023e073100 - Building an ACTUALLY water-cooled PC.mp4", false, ~U[2023-07-31 19:15:01Z]] 04:21:10.286 [debug] QUERY OK source="sources" db=0.1ms idle=105.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:10.286 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:10.287 [debug] QUERY OK source="media_items" db=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295146] 04:21:10.287 [debug] Current batch of media processed. Will check again in 1000ms 04:21:11.287 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "3D printed speakers can sound so good! Ad: Get an exclusive NordVPN deal here\nhttps://nordvpn.com/diyperksvpn it’s risk-free with Nord’s 30-day money-back \nguarantee!\n\nWant to build these speakers for your own gaming or TV setup? The 3D printable files are available for $29.99 - https://payhip.com/b/dhJrS\n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nIt's approx $500 to build a pair (so $250 per speaker), which is good value when you think that a Sonos or Bose will set you back at least that much only instead of getting a single unit you get a stereo pair with better audio quality to boot!\n\nSubwoofer: Tang Band W3-1876S\nUSA: https://www.parts-express.com/Tang-Band-W3-1876S-3-Mini-Subwoofer-264-909\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1876s.html\n\nMidtone Driver: Tang Band W3-1364SA\nUSA: https://www.parts-express.com/Tang-Band-W3-1364SA-3-Bamboo-Cone-Driver-264-844\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1364sa.html\n\nAlternative mid drivers (these performed similarly and fit the enclosure):\nhttps://www.parts-express.com/Tang-Band-W3-2141-3-Paper-Cone-Full-Range-Driver-8-Ohm-264-956\nhttps://www.parts-express.com/Tang-Band-W3-1797S-3-Neodymium-Midrange-Driver-264-888\n\nDigital Signal Processor :\nhttps://ebay.us/i8U1fC\n\nAmplifier:\nhttps://ebay.us/ZWlpBh\n\nTWEETERS are optional, as the midtone driver + DSP sounds great on its own, but for the best quality a good budget tweeter is the SB Acoustics SB26STCN, which is my favourite overall due to its pricing, but a premium option is a Scanspeak D2608/913000 Tweeter. It has a bit more ‘sparkle’ and refinement, but this will ONLY be appreciated if the final speakers are given a signal from a high-quality output source like a dedicated DAC.\n\nIf you want to print the baffles, the recommended magnet size is 10mm diameter round neodymium magnets, with 5mm depth maximum.\n\n\nFixtures and fittings:\n\n\n40pcs M3 threaded inserts (for the speaker drivers)\n40pcs 3mm x 8mm countersunk m3 black screws (for the speaker drivers)\n200pcs Self-tapping 2mm diameter screws, 10mm length max (build platform screws)\n24pcs 3mm diameter self-tapping screws (amplifier screws, DSP chamber, midtone chamber base)\n2x step-down voltage regulators, 5v output (for powering the DSP and fan)\n2x 1000uf capacitor (add across the output of the regulator to reduce interference)\n2x Power Adapters (100w ideally, each. A low cost option is old laptop power adapters)\n1x roll of 16awg wire\n\nRecommended glue is CT1 - it sticks to PLA well enough and doesn't set too quickly allowing the whole speaker to be screwed together before it begins to dry. This allows any spill over to be wiped away (use an old brush to get inside the air guide etc). Sets with some amout of flexibility. Readily availabe in the UK but not sure about equivalents for other territories. Visit the Forum or Discord server to see what the community recommends for each region.\n\nSAFETY NOTES ON PLASTER OF PARIS: If you're stupid with it, it can be dangerous. NEVER put your hands/feet/whatever into plaster of paris EVER. It can suddenly set without warning, creating a lot of heat in the center, so you'll get burned or worse. Because of this never leave a batch of wet plaster of paris in reach of children or pets. Wearing a mask is recommended to not breathe in any dust, and goggles to stop it splashing into your eyes. Stay safe people!", "duration" => 1339, "filename" => "/downloads/DIY Perks/Season 2023/s2023e060900 - Building EXCEPTIONAL speakers using MODERN TECHNIQUES.mp4", "id" => "XEspOD1NHr0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XEspOD1NHr0", "playlist_index" => 11, "timestamp" => 1686309305, "title" => "Building EXCEPTIONAL speakers using MODERN TECHNIQUES", "upload_date" => "20230609"} 04:21:11.288 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:11.288 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:11.289 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-06-09 11:15:05Z], 32] 04:21:11.292 [debug] QUERY OK source="media_items" db=3.1ms idle=113.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["3D printed speakers can sound so good! Ad: Get an exclusive NordVPN deal here\nhttps://nordvpn.com/diyperksvpn it’s risk-free with Nord’s 30-day money-back \nguarantee!\n\nWant to build these speakers for your own gaming or TV setup? The 3D printable files are available for $29.99 - https://payhip.com/b/dhJrS\n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nIt's approx $500 to build a pair (so $250 per speaker), which is good value when you think that a Sonos or Bose will set you back at least that much only instead of getting a single unit you get a stereo pair with better audio quality to boot!\n\nSubwoofer: Tang Band W3-1876S\nUSA: https://www.parts-express.com/Tang-Band-W3-1876S-3-Mini-Subwoofer-264-909\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1876s.html\n\nMidtone Driver: Tang Band W3-1364SA\nUSA: https://www.parts-express.com/Tang-Band-W3-1364SA-3-Bamboo-Cone-Driver-264-844\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1364sa.html\n\nAlternative mid drivers (these performed similarly and fit the enclosure):\nhttps://www.parts-express.com/Tang-Band-W3-2141-3-Paper-Cone-Full-Range-Driver-8-Ohm-264-956\nhttps://www.parts-express.com/Tang-Band-W3-1797S-3-Neodymium-Midrange-Driver-264-888\n\nDigital Signal Processor :\nhttps://ebay.us/i8U1fC\n\nAmplifier:\nhttps://ebay.us/ZWlpBh\n\nTWEETERS are optional, as the midtone driver + DSP sounds great on its own, but for the best quality a good budget tweeter is the SB Acoustics SB26STCN, which is my favourite overall due to its pricing, but a premium option is a Scanspeak D2608/913000 Tweeter. It has a bit more ‘sparkle’ and refinement, but this will ONLY be appreciated if the final speakers are given a signal from a high-quality output source like a dedicated DAC.\n\nIf you want to print the baffles, the recommended magnet size is 10mm diameter round neodymium magnets, with 5mm depth maximum.\n\n\nFixtures and fittings:\n\n\n40pcs M3 threaded inserts (for the speaker drivers)\n40pcs 3mm x 8mm countersunk m3 black screws (for the speaker drivers)\n200pcs Self-tapping 2mm diameter screws, 10mm length max (build platform screws)\n24pcs 3mm diameter self-tapping screws (amplifier screws, DSP chamber, midtone chamber base)\n2x step-down voltage regulators, 5v output (for powering the DSP and fan)\n2x 1000uf capacitor (add across the output of the regulator to reduce interference)\n2x Power Adapters (100w ideally, each. A low cost option is old laptop power adapters)\n1x roll of 16awg wire\n\nRecommended glue is CT1 - it sticks to PLA well enough and doesn't set too quickly allowing the whole speaker to be screwed together before it begins to dry. This allows any spill over to be wiped away (use an old brush to get inside the air guide etc). Sets with some amout of flexibility. Readily availabe in the UK but not sure about equivalents for other territories. Visit the Forum or Discord server to see what the community recommends for each region.\n\nSAFETY NOTES ON PLASTER OF PARIS: If you're stupid with it, it can be dangerous. NEVER put your hands/feet/whatever into plaster of paris EVER. It can suddenly set without warning, creating a lot of heat in the center, so you'll get burned or worse. Because of this never leave a batch of wet plaster of paris in reach of children or pets. Wearing a mask is recommended to not breathe in any dust, and goggles to stop it splashing into your eyes. Stay safe people!", "Building EXCEPTIONAL speakers using MODERN TECHNIQUES", "473310a5-52e6-4886-8675-8e92246d12b5", false, 32, [], 1339, false, "XEspOD1NHr0", "https://www.youtube.com/watch?v=XEspOD1NHr0", 11, "/downloads/DIY Perks/Season 2023/s2023e060900 - Building EXCEPTIONAL speakers using MODERN TECHNIQUES.mp4", false, false, 98, ~U[2023-06-09 11:15:05Z], ~U[2026-08-05 02:21:11Z], ~U[2026-08-05 02:21:11Z], "3D printed speakers can sound so good! Ad: Get an exclusive NordVPN deal here\nhttps://nordvpn.com/diyperksvpn it’s risk-free with Nord’s 30-day money-back \nguarantee!\n\nWant to build these speakers for your own gaming or TV setup? The 3D printable files are available for $29.99 - https://payhip.com/b/dhJrS\n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nIt's approx $500 to build a pair (so $250 per speaker), which is good value when you think that a Sonos or Bose will set you back at least that much only instead of getting a single unit you get a stereo pair with better audio quality to boot!\n\nSubwoofer: Tang Band W3-1876S\nUSA: https://www.parts-express.com/Tang-Band-W3-1876S-3-Mini-Subwoofer-264-909\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1876s.html\n\nMidtone Driver: Tang Band W3-1364SA\nUSA: https://www.parts-express.com/Tang-Band-W3-1364SA-3-Bamboo-Cone-Driver-264-844\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1364sa.html\n\nAlternative mid drivers (these performed similarly and fit the enclosure):\nhttps://www.parts-express.com/Tang-Band-W3-2141-3-Paper-Cone-Full-Range-Driver-8-Ohm-264-956\nhttps://www.parts-express.com/Tang-Band-W3-1797S-3-Neodymium-Midrange-Driver-264-888\n\nDigital Signal Processor :\nhttps://ebay.us/i8U1fC\n\nAmplifier:\nhttps://ebay.us/ZWlpBh\n\nTWEETERS are optional, as the midtone driver + DSP sounds great on its own, but for the best quality a good budget tweeter is the SB Acoustics SB26STCN, which is my favourite overall due to its pricing, but a premium option is a Scanspeak D2608/913000 Tweeter. It has a bit more ‘sparkle’ and refinement, but this will ONLY be appreciated if the final speakers are given a signal from a high-quality output source like a dedicated DAC.\n\nIf you want to print the baffles, the recommended magnet size is 10mm diameter round neodymium magnets, with 5mm depth maximum.\n\n\nFixtures and fittings:\n\n\n40pcs M3 threaded inserts (for the speaker drivers)\n40pcs 3mm x 8mm countersunk m3 black screws (for the speaker drivers)\n200pcs Self-tapping 2mm diameter screws, 10mm length max (build platform screws)\n24pcs 3mm diameter self-tapping screws (amplifier screws, DSP chamber, midtone chamber base)\n2x step-down voltage regulators, 5v output (for powering the DSP and fan)\n2x 1000uf capacitor (add across the output of the regulator to reduce interference)\n2x Power Adapters (100w ideally, each. A low cost option is old laptop power adapters)\n1x roll of 16awg wire\n\nRecommended glue is CT1 - it sticks to PLA well enough and doesn't set too quickly allowing the whole speaker to be screwed together before it begins to dry. This allows any spill over to be wiped away (use an old brush to get inside the air guide etc). Sets with some amout of flexibility. Readily availabe in the UK but not sure about equivalents for other territories. Visit the Forum or Discord server to see what the community recommends for each region.\n\nSAFETY NOTES O (truncated) 04:21:11.293 [debug] QUERY OK source="sources" db=0.1ms idle=111.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:11.293 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:11.293 [debug] QUERY OK source="media_items" db=0.1ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295147] 04:21:11.293 [debug] Current batch of media processed. Will check again in 1000ms 04:21:12.294 [debug] Current batch of media processed. Will check again in 1000ms 04:21:13.295 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dual-layer LCD monitors aren't hard to make, but can they perform? AD: Want to try Huel? Visit: https://rebrand.ly/mattdiyperks it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nForum thread: https://forum.diyperks.com/displays-and-monitors-tvs/diy-dual-layer-lcd-monitor/\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "duration" => 736, "filename" => "/downloads/DIY Perks/Season 2023/s2023e031300 - DIY Dual-Layer LCD monitor - can it match OLED??.mp4", "id" => "ibEN9FTLdkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ibEN9FTLdkI", "playlist_index" => 12, "timestamp" => 1678710631, "title" => "DIY Dual-Layer LCD monitor - can it match OLED??", "upload_date" => "20230313"} 04:21:13.295 [debug] QUERY OK source="sources" db=0.1ms idle=430.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:13.296 [debug] QUERY OK source="sources" db=0.0ms idle=430.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:13.296 [debug] QUERY OK source="media_items" db=0.2ms idle=430.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-03-13 12:30:31Z], 32] 04:21:13.297 [debug] QUERY OK source="media_items" db=0.6ms idle=118.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dual-layer LCD monitors aren't hard to make, but can they perform? AD: Want to try Huel? Visit: https://rebrand.ly/mattdiyperks it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nForum thread: https://forum.diyperks.com/displays-and-monitors-tvs/diy-dual-layer-lcd-monitor/\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "DIY Dual-Layer LCD monitor - can it match OLED??", "1d2a9ab4-bfcd-4327-9c4f-e18f2bfa950d", false, 32, [], 736, false, "ibEN9FTLdkI", "https://www.youtube.com/watch?v=ibEN9FTLdkI", 12, "/downloads/DIY Perks/Season 2023/s2023e031300 - DIY Dual-Layer LCD monitor - can it match OLED??.mp4", false, false, 98, ~U[2023-03-13 12:30:31Z], ~U[2026-08-05 02:21:13Z], ~U[2026-08-05 02:21:13Z], "Dual-layer LCD monitors aren't hard to make, but can they perform? AD: Want to try Huel? Visit: https://rebrand.ly/mattdiyperks it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nForum thread: https://forum.diyperks.com/displays-and-monitors-tvs/diy-dual-layer-lcd-monitor/\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "DIY Dual-Layer LCD monitor - can it match OLED??", 32, 736, false, "ibEN9FTLdkI", "https://www.youtube.com/watch?v=ibEN9FTLdkI", "/downloads/DIY Perks/Season 2023/s2023e031300 - DIY Dual-Layer LCD monitor - can it match OLED??.mp4", false, ~U[2023-03-13 12:30:31Z]] 04:21:13.297 [debug] QUERY OK source="sources" db=0.1ms idle=113.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:13.297 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:13.298 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295148] 04:21:13.298 [debug] Current batch of media processed. Will check again in 1000ms 04:21:14.298 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Time to make a triple-screen laptop! AD: Want to try Huel? Visit: http://jlinks.io/diyperkshuel it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nDOWNLOAD PACKS\n3D Printable Enclosure: https://diyperks.com/diy-perks-triple-screen-laptop/\nForum Thread & Discussion: https://forum.diyperks.com/computers/diy-triple-screen-laptop/#post-3309\nLive discussion on Discord: https://discord.gg/DAvEyWJCWC\n\nPlease consider supporting the channel on Patreon: http://patreon.com/diyperks\n\n\n\nOther useful links: \n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nFramework Mainboard: https://frame.work//marketplace/mainboards\n\n4k 120Hz Panel: \nhttps://ebay.us/qrshka\nhttps://www.aliexpress.com/item/1005004255247666.html\n\niPad Retina panels:\nhttps://ebay.us/t5DIPx\nhttps://www.adafruit.com/product/1751\nhttps://www.adafruit.com/product/1716\n\nCables:\nhttps://amzn.to/3wFs7KE\nhttps://amzn.to/3DqbRkk\nhttps://amzn.to/3WS4JEv\nhttps://amzn.to/3kXhK2k\n\n3D Printer:\nhttps://www.prusa3d.com/", "duration" => 728, "filename" => "/downloads/DIY Perks/Season 2023/s2023e013100 - Triple-Screen Laptop DONE RIGHT!.mp4", "id" => "aUKpY0o5tMo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aUKpY0o5tMo", "playlist_index" => 13, "timestamp" => 1675163701, "title" => "Triple-Screen Laptop DONE RIGHT!", "upload_date" => "20230131"} 04:21:14.299 [debug] QUERY OK source="sources" db=0.1ms idle=1001.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:14.299 [debug] QUERY OK source="sources" db=0.0ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:14.299 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-31 11:15:01Z], 32] 04:21:14.301 [debug] QUERY OK source="media_items" db=0.9ms idle=120.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Time to make a triple-screen laptop! AD: Want to try Huel? Visit: http://jlinks.io/diyperkshuel it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nDOWNLOAD PACKS\n3D Printable Enclosure: https://diyperks.com/diy-perks-triple-screen-laptop/\nForum Thread & Discussion: https://forum.diyperks.com/computers/diy-triple-screen-laptop/#post-3309\nLive discussion on Discord: https://discord.gg/DAvEyWJCWC\n\nPlease consider supporting the channel on Patreon: http://patreon.com/diyperks\n\n\n\nOther useful links: \n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nFramework Mainboard: https://frame.work//marketplace/mainboards\n\n4k 120Hz Panel: \nhttps://ebay.us/qrshka\nhttps://www.aliexpress.com/item/1005004255247666.html\n\niPad Retina panels:\nhttps://ebay.us/t5DIPx\nhttps://www.adafruit.com/product/1751\nhttps://www.adafruit.com/product/1716\n\nCables:\nhttps://amzn.to/3wFs7KE\nhttps://amzn.to/3DqbRkk\nhttps://amzn.to/3WS4JEv\nhttps://amzn.to/3kXhK2k\n\n3D Printer:\nhttps://www.prusa3d.com/", "Triple-Screen Laptop DONE RIGHT!", "257b7261-6f22-49d4-82a5-01225825def9", false, 32, [], 728, false, "aUKpY0o5tMo", "https://www.youtube.com/watch?v=aUKpY0o5tMo", 13, "/downloads/DIY Perks/Season 2023/s2023e013100 - Triple-Screen Laptop DONE RIGHT!.mp4", false, false, 98, ~U[2023-01-31 11:15:01Z], ~U[2026-08-05 02:21:14Z], ~U[2026-08-05 02:21:14Z], "Time to make a triple-screen laptop! AD: Want to try Huel? Visit: http://jlinks.io/diyperkshuel it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nDOWNLOAD PACKS\n3D Printable Enclosure: https://diyperks.com/diy-perks-triple-screen-laptop/\nForum Thread & Discussion: https://forum.diyperks.com/computers/diy-triple-screen-laptop/#post-3309\nLive discussion on Discord: https://discord.gg/DAvEyWJCWC\n\nPlease consider supporting the channel on Patreon: http://patreon.com/diyperks\n\n\n\nOther useful links: \n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nFramework Mainboard: https://frame.work//marketplace/mainboards\n\n4k 120Hz Panel: \nhttps://ebay.us/qrshka\nhttps://www.aliexpress.com/item/1005004255247666.html\n\niPad Retina panels:\nhttps://ebay.us/t5DIPx\nhttps://www.adafruit.com/product/1751\nhttps://www.adafruit.com/product/1716\n\nCables:\nhttps://amzn.to/3wFs7KE\nhttps://amzn.to/3DqbRkk\nhttps://amzn.to/3WS4JEv\nhttps://amzn.to/3kXhK2k\n\n3D Printer:\nhttps://www.prusa3d.com/", "Triple-Screen Laptop DONE RIGHT!", 32, 728, false, "aUKpY0o5tMo", "https://www.youtube.com/watch?v=aUKpY0o5tMo", "/downloads/DIY Perks/Season 2023/s2023e013100 - Triple-Screen Laptop DONE RIGHT!.mp4", false, ~U[2023-01-31 11:15:01Z]] 04:21:14.301 [debug] QUERY OK source="sources" db=0.1ms idle=116.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:14.301 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:14.301 [debug] QUERY OK source="media_items" db=0.1ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295149] 04:21:14.302 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Media setups aren't usually this minimal! AD For more info on LG QNED mini LED TV : https://bit.ly/LGQNED91_DIY \n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nCrazy-good DSP Amplifiers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kabd-4100.html\n\nTweeters: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&ws=&dl=en%2Fsb-acoustics-sb26stcn-c000-4.html\n\nMid drivers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-rs125p-8.html\n\nSubwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsb-acoustics-sw26dbac76-4.html\n\nLower cost but practically identical subwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-ls12-44.html\n\nFor 5.1 audio, one amp needs an additional two inputs, which can be acheived with one of these https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsure-electronics-aa-ab41161.html (amp's micro switch needs to be in the 'S' position) \n\nThe amps need a programming board to adjust their settings: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kpx.html which can be utilised with Sigma Studio (free software)\n\n5.1 HDMI Audio decoder board: https://s.click.aliexpress.com/e/_DnErkFt\n\nConcealed hinges: https://amzn.to/3Eq9FdX\n\nFireplace: https://amzn.to/3fPOLLg\n\n3D Plans (Sketchup): https://diyperks.com/ikyteech/DIY-Perks-Invisible-TV-Plans.zip\n\nForum: https://forum.diyperks.com\nDiscord: https://discord.com/invite/XuTCwVwwnC", "duration" => 1080, "filename" => "/downloads/DIY Perks/Season 2022/s2022e101700 - Building an invisible TV.mp4", "id" => "2fX1qYMcfgs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2fX1qYMcfgs", "playlist_index" => 14, "timestamp" => 1666001700, "title" => "Building an invisible TV", "upload_date" => "20221017"} 04:21:14.302 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:14.302 [debug] QUERY OK source="sources" db=0.1ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:14.302 [debug] QUERY OK source="media_items" db=0.1ms idle=1.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-17 10:15:00Z], 32] 04:21:14.304 [debug] QUERY OK source="media_items" db=1.7ms idle=1.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Media setups aren't usually this minimal! AD For more info on LG QNED mini LED TV : https://bit.ly/LGQNED91_DIY \n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nCrazy-good DSP Amplifiers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kabd-4100.html\n\nTweeters: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&ws=&dl=en%2Fsb-acoustics-sb26stcn-c000-4.html\n\nMid drivers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-rs125p-8.html\n\nSubwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsb-acoustics-sw26dbac76-4.html\n\nLower cost but practically identical subwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-ls12-44.html\n\nFor 5.1 audio, one amp needs an additional two inputs, which can be acheived with one of these https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsure-electronics-aa-ab41161.html (amp's micro switch needs to be in the 'S' position) \n\nThe amps need a programming board to adjust their settings: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kpx.html which can be utilised with Sigma Studio (free software)\n\n5.1 HDMI Audio decoder board: https://s.click.aliexpress.com/e/_DnErkFt\n\nConcealed hinges: https://amzn.to/3Eq9FdX\n\nFireplace: https://amzn.to/3fPOLLg\n\n3D Plans (Sketchup): https://diyperks.com/ikyteech/DIY-Perks-Invisible-TV-Plans.zip\n\nForum: https://forum.diyperks.com\nDiscord: https://discord.com/invite/XuTCwVwwnC", "Building an invisible TV", "8fe867ce-b68d-469d-8844-d1c058948ef3", false, 32, [], 1080, false, "2fX1qYMcfgs", "https://www.youtube.com/watch?v=2fX1qYMcfgs", 14, "/downloads/DIY Perks/Season 2022/s2022e101700 - Building an invisible TV.mp4", false, false, 98, ~U[2022-10-17 10:15:00Z], ~U[2026-08-05 02:21:14Z], ~U[2026-08-05 02:21:14Z], "Media setups aren't usually this minimal! AD For more info on LG QNED mini LED TV : https://bit.ly/LGQNED91_DIY \n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nCrazy-good DSP Amplifiers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kabd-4100.html\n\nTweeters: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&ws=&dl=en%2Fsb-acoustics-sb26stcn-c000-4.html\n\nMid drivers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-rs125p-8.html\n\nSubwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsb-acoustics-sw26dbac76-4.html\n\nLower cost but practically identical subwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-ls12-44.html\n\nFor 5.1 audio, one amp needs an additional two inputs, which can be acheived with one of these https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsure-electronics-aa-ab41161.html (amp's micro switch needs to be in the 'S' position) \n\nThe amps need a programming board to adjust their settings: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kpx.html which can be utilised with Sigma Studio (free software)\n\n5.1 HDMI Audio decoder board: https://s.click.aliexpress.com/e/_DnErkFt\n\nConcealed hinges: https://amzn.to/3Eq9FdX\n\nFireplace: https://amzn.to/3fPOLLg\n\n3D Plans (Sketchup): https://diyperks.com/ikyteech/DIY-Perks-Invisible-TV-Plans.zip\n\nForum: https://forum.diyperks.com\nDiscord: https://discord.com/invite/XuTCwVwwnC", "Building an invisible TV", 32, 1080, false, "2fX1qYMcfgs", "https://www.youtube.com/watch?v=2fX1qYMcfgs", "/downloads/DIY Perks/Season 2022/s2022e101700 - Building an invisible TV.mp4", false, ~U[2022-10-17 10:15:00Z]] 04:21:14.305 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:14.305 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:14.305 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295150] 04:21:14.305 [debug] Current batch of media processed. Will check again in 1000ms 04:21:15.306 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can this old lens become legendary? I think it can! AD: Regarding HelloFresh, use code POGDIYJULY16 for 16 FREE MEALS across 7 boxes + 3 FREE GIFTS at https://strms.net/hellofresh_diyperks", "duration" => 867, "filename" => "/downloads/DIY Perks/Season 2022/s2022e073000 - Building a Next-Level Camera.mp4", "id" => "9cT0jXI7l4E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9cT0jXI7l4E", "playlist_index" => 15, "timestamp" => 1659205808, "title" => "Building a Next-Level Camera", "upload_date" => "20220730"} 04:21:15.306 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:15.307 [debug] QUERY OK source="sources" db=0.0ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:15.307 [debug] QUERY OK source="media_items" db=0.1ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-30 18:30:08Z], 32] 04:21:15.308 [debug] QUERY OK source="media_items" db=0.5ms idle=127.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can this old lens become legendary? I think it can! AD: Regarding HelloFresh, use code POGDIYJULY16 for 16 FREE MEALS across 7 boxes + 3 FREE GIFTS at https://strms.net/hellofresh_diyperks", "Building a Next-Level Camera", "77dcd21b-3b16-4a4f-acfa-d7e7e6f140ec", false, 32, [], 867, false, "9cT0jXI7l4E", "https://www.youtube.com/watch?v=9cT0jXI7l4E", 15, "/downloads/DIY Perks/Season 2022/s2022e073000 - Building a Next-Level Camera.mp4", false, false, 98, ~U[2022-07-30 18:30:08Z], ~U[2026-08-05 02:21:15Z], ~U[2026-08-05 02:21:15Z], "Can this old lens become legendary? I think it can! AD: Regarding HelloFresh, use code POGDIYJULY16 for 16 FREE MEALS across 7 boxes + 3 FREE GIFTS at https://strms.net/hellofresh_diyperks", "Building a Next-Level Camera", 32, 867, false, "9cT0jXI7l4E", "https://www.youtube.com/watch?v=9cT0jXI7l4E", "/downloads/DIY Perks/Season 2022/s2022e073000 - Building a Next-Level Camera.mp4", false, ~U[2022-07-30 18:30:08Z]] 04:21:15.308 [debug] QUERY OK source="sources" db=0.1ms idle=122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:15.308 [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] 04:21:15.308 [debug] QUERY OK source="media_items" db=0.1ms idle=1.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295151] 04:21:15.308 [debug] Current batch of media processed. Will check again in 1000ms 04:21:16.309 [debug] Current batch of media processed. Will check again in 1000ms 04:21:17.099 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:17.310 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The PlayStation 5 is a BIG console... let's fix that! Also, visit http://dbrand.com/diydarkplates if you'd like to customise your own PS5!\n\nWant to support DIY Perks? http://patreon.com/diyperks\n\nOr buy a cool t-shirt!: https://diy-perks.creator-spring.com/listing/diy-perks-fan\n\nJoin the chat!\nhttps://discord.com/invite/diyperks\nhttp://forum.diyperks.com\n\nThanks to Alphacool for the watercooling parts! https://www.alphacool.com/", "duration" => 1746, "filename" => "/downloads/DIY Perks/Season 2022/s2022e061900 - Building the WORLDS FIRST PlayStation 5 slim.mp4", "id" => "he6xyl_MHXY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=he6xyl_MHXY", "playlist_index" => 16, "timestamp" => 1655636430, "title" => "Building the WORLDS FIRST PlayStation 5 slim", "upload_date" => "20220619"} 04:21:17.310 [debug] QUERY OK source="sources" db=0.1ms idle=445.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:17.311 [debug] QUERY OK source="sources" db=0.1ms idle=445.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:17.311 [debug] QUERY OK source="media_items" db=0.3ms idle=212.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-19 11:00:30Z], 32] 04:21:17.312 [debug] QUERY OK source="media_items" db=0.7ms idle=129.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The PlayStation 5 is a BIG console... let's fix that! Also, visit http://dbrand.com/diydarkplates if you'd like to customise your own PS5!\n\nWant to support DIY Perks? http://patreon.com/diyperks\n\nOr buy a cool t-shirt!: https://diy-perks.creator-spring.com/listing/diy-perks-fan\n\nJoin the chat!\nhttps://discord.com/invite/diyperks\nhttp://forum.diyperks.com\n\nThanks to Alphacool for the watercooling parts! https://www.alphacool.com/", "Building the WORLDS FIRST PlayStation 5 slim", "baf4a784-e7d7-491c-bf24-b1c7da17f297", false, 32, [], 1746, false, "he6xyl_MHXY", "https://www.youtube.com/watch?v=he6xyl_MHXY", 16, "/downloads/DIY Perks/Season 2022/s2022e061900 - Building the WORLDS FIRST PlayStation 5 slim.mp4", false, false, 98, ~U[2022-06-19 11:00:30Z], ~U[2026-08-05 02:21:17Z], ~U[2026-08-05 02:21:17Z], "The PlayStation 5 is a BIG console... let's fix that! Also, visit http://dbrand.com/diydarkplates if you'd like to customise your own PS5!\n\nWant to support DIY Perks? http://patreon.com/diyperks\n\nOr buy a cool t-shirt!: https://diy-perks.creator-spring.com/listing/diy-perks-fan\n\nJoin the chat!\nhttps://discord.com/invite/diyperks\nhttp://forum.diyperks.com\n\nThanks to Alphacool for the watercooling parts! https://www.alphacool.com/", "Building the WORLDS FIRST PlayStation 5 slim", 32, 1746, false, "he6xyl_MHXY", "https://www.youtube.com/watch?v=he6xyl_MHXY", "/downloads/DIY Perks/Season 2022/s2022e061900 - Building the WORLDS FIRST PlayStation 5 slim.mp4", false, ~U[2022-06-19 11:00:30Z]] 04:21:17.312 [debug] QUERY OK source="sources" db=0.1ms idle=124.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:17.313 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:17.313 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295152] 04:21:17.313 [debug] Current batch of media processed. Will check again in 1000ms 04:21:18.314 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PC Speakers haven't been that great... until now! AD: join BetterHelp and get 10% off your first month at https://betterhelp.com/diyperks\n\nDiscuss this project on the new forum! https://forum.diyperks.com/audio/the-ultimate-pc-sound-system-official-thread/\n\nFULL BUILD GUIDE: https://www.youtube.com/watch?v=408HxcN2gw4\nDownload the resource pack here: https://diyperks.com/the-ultimate-pc-sound-system/\n\n\nCHANNEL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks\n\nPurchasing links for the various components required:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nSubwoofer: https://ebay.us/su8tk4\nTweeters: https://amzn.to/3LKEVoy\nMidtone-drivers: https://ebay.us/bLsuag\nAmplifier (subwoofer): https://ebay.us/KPoUSN\nAmplifier (main): https://ebay.us/sjf6c6\nBlack-tack putty: https://amzn.to/3uiRfXf\nLEDs: https://ebay.us/RMQPfs\nLED Channelling: https://amzn.to/3uYC0Sl\nDAC (expensive but GOOD!) https://amzn.to/3v2SEQJ", "duration" => 993, "filename" => "/downloads/DIY Perks/Season 2022/s2022e040800 - Building a PC sound deck... with a twist!.mp4", "id" => "nmU7u_RFFSo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nmU7u_RFFSo", "playlist_index" => 17, "timestamp" => 1649415635, "title" => "Building a PC sound deck... with a twist!", "upload_date" => "20220408"} 04:21:18.314 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:18.315 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:18.315 [debug] QUERY OK source="media_items" db=0.3ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-08 11:00:35Z], 32] 04:21:18.317 [debug] QUERY OK source="media_items" db=1.1ms idle=132.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PC Speakers haven't been that great... until now! AD: join BetterHelp and get 10% off your first month at https://betterhelp.com/diyperks\n\nDiscuss this project on the new forum! https://forum.diyperks.com/audio/the-ultimate-pc-sound-system-official-thread/\n\nFULL BUILD GUIDE: https://www.youtube.com/watch?v=408HxcN2gw4\nDownload the resource pack here: https://diyperks.com/the-ultimate-pc-sound-system/\n\n\nCHANNEL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks\n\nPurchasing links for the various components required:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nSubwoofer: https://ebay.us/su8tk4\nTweeters: https://amzn.to/3LKEVoy\nMidtone-drivers: https://ebay.us/bLsuag\nAmplifier (subwoofer): https://ebay.us/KPoUSN\nAmplifier (main): https://ebay.us/sjf6c6\nBlack-tack putty: https://amzn.to/3uiRfXf\nLEDs: https://ebay.us/RMQPfs\nLED Channelling: https://amzn.to/3uYC0Sl\nDAC (expensive but GOOD!) https://amzn.to/3v2SEQJ", "Building a PC sound deck... with a twist!", "32f5fe8c-bc77-4b82-b7ca-da362edaf621", false, 32, [], 993, false, "nmU7u_RFFSo", "https://www.youtube.com/watch?v=nmU7u_RFFSo", 17, "/downloads/DIY Perks/Season 2022/s2022e040800 - Building a PC sound deck... with a twist!.mp4", false, false, 98, ~U[2022-04-08 11:00:35Z], ~U[2026-08-05 02:21:18Z], ~U[2026-08-05 02:21:18Z], "PC Speakers haven't been that great... until now! AD: join BetterHelp and get 10% off your first month at https://betterhelp.com/diyperks\n\nDiscuss this project on the new forum! https://forum.diyperks.com/audio/the-ultimate-pc-sound-system-official-thread/\n\nFULL BUILD GUIDE: https://www.youtube.com/watch?v=408HxcN2gw4\nDownload the resource pack here: https://diyperks.com/the-ultimate-pc-sound-system/\n\n\nCHANNEL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks\n\nPurchasing links for the various components required:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nSubwoofer: https://ebay.us/su8tk4\nTweeters: https://amzn.to/3LKEVoy\nMidtone-drivers: https://ebay.us/bLsuag\nAmplifier (subwoofer): https://ebay.us/KPoUSN\nAmplifier (main): https://ebay.us/sjf6c6\nBlack-tack putty: https://amzn.to/3uiRfXf\nLEDs: https://ebay.us/RMQPfs\nLED Channelling: https://amzn.to/3uYC0Sl\nDAC (expensive but GOOD!) https://amzn.to/3v2SEQJ", "Building a PC sound deck... with a twist!", 32, 993, false, "nmU7u_RFFSo", "https://www.youtube.com/watch?v=nmU7u_RFFSo", "/downloads/DIY Perks/Season 2022/s2022e040800 - Building a PC sound deck... with a twist!.mp4", false, ~U[2022-04-08 11:00:35Z]] 04:21:18.317 [debug] QUERY OK source="sources" db=0.2ms idle=128.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:18.317 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:18.318 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295153] 04:21:18.318 [debug] Current batch of media processed. Will check again in 1000ms 04:21:19.318 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sometimes niche situations call for ultra-custom DIY solutions! Big thanks to Arun from Mrwhosetheboss for the opportunity! You can check out his channel @Mrwhosetheboss and his 10m subscriber special here: https://youtube.com/watch?v=mxiEI65M9_M\n\nMassive thanks to Lamar for programming this thing! https://twitter.com/Lite5h4dow\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "duration" => 671, "filename" => "/downloads/DIY Perks/Season 2022/s2022e030200 - Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!).mp4", "id" => "sVc5szSrfIQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sVc5szSrfIQ", "playlist_index" => 18, "timestamp" => 1646224211, "title" => "Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!)", "upload_date" => "20220302"} 04:21:19.319 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:19.319 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.319 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-03-02 12:30:11Z], 32] 04:21:19.320 [debug] QUERY OK source="media_items" db=0.7ms idle=135.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sometimes niche situations call for ultra-custom DIY solutions! Big thanks to Arun from Mrwhosetheboss for the opportunity! You can check out his channel @Mrwhosetheboss and his 10m subscriber special here: https://youtube.com/watch?v=mxiEI65M9_M\n\nMassive thanks to Lamar for programming this thing! https://twitter.com/Lite5h4dow\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!)", "5a2e63a8-5719-4fd4-8a34-27b62aaf6ab0", false, 32, [], 671, false, "sVc5szSrfIQ", "https://www.youtube.com/watch?v=sVc5szSrfIQ", 18, "/downloads/DIY Perks/Season 2022/s2022e030200 - Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!).mp4", false, false, 98, ~U[2022-03-02 12:30:11Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "Sometimes niche situations call for ultra-custom DIY solutions! Big thanks to Arun from Mrwhosetheboss for the opportunity! You can check out his channel @Mrwhosetheboss and his 10m subscriber special here: https://youtube.com/watch?v=mxiEI65M9_M\n\nMassive thanks to Lamar for programming this thing! https://twitter.com/Lite5h4dow\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!)", 32, 671, false, "sVc5szSrfIQ", "https://www.youtube.com/watch?v=sVc5szSrfIQ", "/downloads/DIY Perks/Season 2022/s2022e030200 - Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!).mp4", false, ~U[2022-03-02 12:30:11Z]] 04:21:19.321 [debug] QUERY OK source="sources" db=0.1ms idle=131.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.321 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:21:19.322 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3295154] 04:21:19.322 [debug] Current batch of media processed. Will check again in 1000ms 04:21:19.973 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@DIYPerks --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/DIY Perks/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/3f/a3/3fa3cc48b27c0bf02c41fda2f8849200aae4fbd4ed8c09ef5e308265494aabb2.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8f/c8/8fc83200f3426aad6bf1a7da2c845954142ec6d761a16de1a209bbe4cf0fd78f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:21:19.973 [debug] Gracefully stopping file follower 04:21:19.974 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=654.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 04:21:19.974 [debug] QUERY OK source="sources" db=0.0ms idle=653.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.975 [debug] QUERY OK source="media_items" db=0.2ms idle=653.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 12:00:19Z], 32] 04:21:19.976 [debug] QUERY OK source="media_items" db=0.6ms idle=653.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Tech is getting expensive, so let's get creative! Also, optimise your workflow! Download Opera for free today: https://opr.as/08-Opera-browser-diyperks\n\nForum FAQ thread: https://forum.diyperks.com/computers/video-recycling-destroyed-tech-into-beautiful-pcs/\n\nSearch term links (these are affiliate links, where I earn a commission if you buy anything through them):\n\neBay US: https://ebay.us/QzBzWz\neBay UK: https://ebay.us/NEsWfC", "Transforming dead hardware into high-performance PCs", "5f3a7783-54e4-409a-864c-637e24822146", false, 32, [], 1478, false, "7FStfdGjAwc", "https://www.youtube.com/watch?v=7FStfdGjAwc", 1, "/downloads/DIY Perks/Season 2026/s2026e071700 - Transforming dead hardware into high-performance PCs.mp4", false, false, 98, ~U[2026-07-17 12:00:19Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "Tech is getting expensive, so let's get creative! Also, optimise your workflow! Download Opera for free today: https://opr.as/08-Opera-browser-diyperks\n\nForum FAQ thread: https://forum.diyperks.com/computers/video-recycling-destroyed-tech-into-beautiful-pcs/\n\nSearch term links (these are affiliate links, where I earn a commission if you buy anything through them):\n\neBay US: https://ebay.us/QzBzWz\neBay UK: https://ebay.us/NEsWfC", "Transforming dead hardware into high-performance PCs", 32, 1478, false, "7FStfdGjAwc", "https://www.youtube.com/watch?v=7FStfdGjAwc", "/downloads/DIY Perks/Season 2026/s2026e071700 - Transforming dead hardware into high-performance PCs.mp4", false, ~U[2026-07-17 12:00:19Z]] 04:21:19.976 [debug] QUERY OK source="sources" db=0.1ms idle=654.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.976 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 12:15:13Z], 32] 04:21:19.977 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What does it take to power one of the world's brightest LEDs? Also, take back your personal data with Incogni! Use code DIYPERKS at the link below and get 60% off an annual plan: https://incogni.com/diyperks", "Building an LED SUPERNOVA!", "b820e45d-bdb3-420b-81cf-c1c83da4f8ae", false, 32, [], 1507, false, "rqCt61ZbU10", "https://www.youtube.com/watch?v=rqCt61ZbU10", 2, "/downloads/DIY Perks/Season 2026/s2026e022800 - Building an LED SUPERNOVA!.mp4", false, false, 98, ~U[2026-02-28 12:15:13Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "What does it take to power one of the world's brightest LEDs? Also, take back your personal data with Incogni! Use code DIYPERKS at the link below and get 60% off an annual plan: https://incogni.com/diyperks", "Building an LED SUPERNOVA!", 32, 1507, false, "rqCt61ZbU10", "https://www.youtube.com/watch?v=rqCt61ZbU10", "/downloads/DIY Perks/Season 2026/s2026e022800 - Building an LED SUPERNOVA!.mp4", false, ~U[2026-02-28 12:15:13Z]] 04:21:19.978 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.978 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 12:31:04Z], 32] 04:21:19.979 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built my very own Hobbit House out of mud and straw! Want a better shave? Visit http://hensonshaving.com/DIYperks or use code DIYperks to receive 100 free blades with the purchase of a razor. Just make sure both products are in your cart for the code to take effect.\n\nBuilding a tiny house has a lot of advantages, and in this video Matt experiments with building a hobbit house variety. Using locally sourced clay and straw, with his friends he builds something truly unique - a small habbitable home with very strong ecological credentials. Will it be comfortable enough to spend a night in? Let's find out!", "DIY Perks builds a beautiful mud hut... (a break from technology)", "2f801173-af72-4ec8-8467-85fc66eaf7c3", false, 32, [], 1219, false, "o6Z0MxWCbrc", "https://www.youtube.com/watch?v=o6Z0MxWCbrc", 3, "/downloads/DIY Perks/Season 2025/s2025e083100 - DIY Perks builds a beautiful mud hut... (a break from technology).mp4", false, false, 98, ~U[2025-08-31 12:31:04Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "I built my very own Hobbit House out of mud and straw! Want a better shave? Visit http://hensonshaving.com/DIYperks or use code DIYperks to receive 100 free blades with the purchase of a razor. Just make sure both products are in your cart for the code to take effect.\n\nBuilding a tiny house has a lot of advantages, and in this video Matt experiments with building a hobbit house variety. Using locally sourced clay and straw, with his friends he builds something truly unique - a small habbitable home with very strong ecological credentials. Will it be comfortable enough to spend a night in? Let's find out!", "DIY Perks builds a beautiful mud hut... (a break from technology)", 32, 1219, false, "o6Z0MxWCbrc", "https://www.youtube.com/watch?v=o6Z0MxWCbrc", "/downloads/DIY Perks/Season 2025/s2025e083100 - DIY Perks builds a beautiful mud hut... (a break from technology).mp4", false, ~U[2025-08-31 12:31:04Z]] 04:21:19.979 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.979 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-03 13:00:33Z], 32] 04:21:19.980 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video we'll explore the future of wireless power delivery! Also, supercharge your business with Odoo today! https://www.odoo.com/r/KH6\n\nBig thanks to ETI for sending the wireless power sytem over for me to experiment with. If you want to design a product with one (even just a prototype) send them your ideas! https://www.etherdyne.net/evalkit and check out more demos by them here: https://www.youtube.com/@wirefree-power\n\nForum thread for further discussion, and file downloads for the speakers etc: https://forum.diyperks.com/general-general/3d-wireless-power-delivery/", "True Wireless Power is FINALLY here (building a TRULY wire-free setup)", "81776511-38da-45c3-973c-209e452ce0d1", false, 32, [], 1354, false, "EyR2-C9ggi0", "https://www.youtube.com/watch?v=EyR2-C9ggi0", 4, "/downloads/DIY Perks/Season 2025/s2025e060300 - True Wireless Power is FINALLY here (building a TRULY wire-free setup).mp4", false, false, 98, ~U[2025-06-03 13:00:33Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "In this video we'll explore the future of wireless power delivery! Also, supercharge your business with Odoo today! https://www.odoo.com/r/KH6\n\nBig thanks to ETI for sending the wireless power sytem over for me to experiment with. If you want to design a product with one (even just a prototype) send them your ideas! https://www.etherdyne.net/evalkit and check out more demos by them here: https://www.youtube.com/@wirefree-power\n\nForum thread for further discussion, and file downloads for the speakers etc: https://forum.diyperks.com/general-general/3d-wireless-power-delivery/", "True Wireless Power is FINALLY here (building a TRULY wire-free setup)", 32, 1354, false, "EyR2-C9ggi0", "https://www.youtube.com/watch?v=EyR2-C9ggi0", "/downloads/DIY Perks/Season 2025/s2025e060300 - True Wireless Power is FINALLY here (building a TRULY wire-free setup).mp4", false, ~U[2025-06-03 13:00:33Z]] 04:21:19.980 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:19.981 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-01 07:15:03Z], 32] 04:21:20.004 [debug] QUERY OK source="media_items" db=22.9ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Merging an old TV with an old projector creates magical results! Also, start using Odoo today! https://www.odoo.com/r/y7C\n\n\nDiscuss on the DIY Perks Discord server: https://discord.com/invite/XuTCwVwwnC\n\nForum thread for further development: https://forum.diyperks.com/displays-and-monitors-tvs/diy-infinity-contrast-display-projector-lcd-backlight-mod-development-thread/\n\nOBS Glow Filter: https://obsproject.com/forum/resources/stroke-glow-shadow.1800/", "DIY \"infinity contrast\" TV - with 100% recycled parts", "eb44357c-5107-4139-ad94-19c44aa63616", false, 32, [], 1103, false, "qXrn4MqY1Wo", "https://www.youtube.com/watch?v=qXrn4MqY1Wo", 5, "/downloads/DIY Perks/Season 2025/s2025e030100 - DIY "infinity contrast" TV - with 100% recycled parts.mp4", false, false, 98, ~U[2025-03-01 07:15:03Z], ~U[2026-08-05 02:21:19Z], ~U[2026-08-05 02:21:19Z], "Merging an old TV with an old projector creates magical results! Also, start using Odoo today! https://www.odoo.com/r/y7C\n\n\nDiscuss on the DIY Perks Discord server: https://discord.com/invite/XuTCwVwwnC\n\nForum thread for further development: https://forum.diyperks.com/displays-and-monitors-tvs/diy-infinity-contrast-display-projector-lcd-backlight-mod-development-thread/\n\nOBS Glow Filter: https://obsproject.com/forum/resources/stroke-glow-shadow.1800/", "DIY \"infinity contrast\" TV - with 100% recycled parts", 32, 1103, false, "qXrn4MqY1Wo", "https://www.youtube.com/watch?v=qXrn4MqY1Wo", "/downloads/DIY Perks/Season 2025/s2025e030100 - DIY "infinity contrast" TV - with 100% recycled parts.mp4", false, ~U[2025-03-01 07:15:03Z]] 04:21:20.004 [debug] QUERY OK source="sources" db=0.2ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.005 [debug] QUERY OK source="media_items" db=0.2ms idle=24.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-13 19:45:00Z], 32] 04:21:20.016 [debug] QUERY OK source="media_items" db=11.0ms idle=24.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's do surround sound, with lasers! Also, buy the LTT Ratcheting Multi-bit Screwdriver here: https://lmg.gg/perksdriver\n\n3D Models: https://payhip.com/b/3oXxU\n\nParts links: (these are affiliate links so DIY Perks may earn a commission)\n\nSPDIF/TOSLINK Converters: https://amzn.to/4iD37L0\nCheaper: https://www.aliexpress.us/w/wholesale-analog-to-digital-converter.html?spm=a2g0o.productlist.search.0\n\nTCP115-4 Driver: https://www.parts-express.com/Dayton-Audio-TCP115-4-4-Treated-Paper-Cone-Midbass-Woofer-4-Ohm-295-415\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-tcp115-4.html\n\nTweeter: https://amzn.to/3BfARxa\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fa-4.html\n\nCentre Channel Tweeter: https://amzn.to/3ZQPqjX\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fn-4.html\n\n4 Channel Amplifier: https://amzn.to/41saIps\n\nDSP: https://www.aliexpress.us/item/2255799930610711.html\n\nAcrylic tubes will need to be 2x 1000mm lengths, 70mm outside diameter, 66mm inside diameter", "DIY Surround Sound... USING LASERS!", "5eb9b732-d904-498e-9780-45cefcafa535", false, 32, [], 1285, false, "1H4FuNAByUs", "https://www.youtube.com/watch?v=1H4FuNAByUs", 6, "/downloads/DIY Perks/Season 2024/s2024e121300 - DIY Surround Sound... USING LASERS!.mp4", false, false, 98, ~U[2024-12-13 19:45:00Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Let's do surround sound, with lasers! Also, buy the LTT Ratcheting Multi-bit Screwdriver here: https://lmg.gg/perksdriver\n\n3D Models: https://payhip.com/b/3oXxU\n\nParts links: (these are affiliate links so DIY Perks may earn a commission)\n\nSPDIF/TOSLINK Converters: https://amzn.to/4iD37L0\nCheaper: https://www.aliexpress.us/w/wholesale-analog-to-digital-converter.html?spm=a2g0o.productlist.search.0\n\nTCP115-4 Driver: https://www.parts-express.com/Dayton-Audio-TCP115-4-4-Treated-Paper-Cone-Midbass-Woofer-4-Ohm-295-415\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-tcp115-4.html\n\nTweeter: https://amzn.to/3BfARxa\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fa-4.html\n\nCentre Channel Tweeter: https://amzn.to/3ZQPqjX\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-nd25fn-4.html\n\n4 Channel Amplifier: https://amzn.to/41saIps\n\nDSP: https://www.aliexpress.us/item/2255799930610711.html\n\nAcrylic tubes will need to be 2x 1000mm lengths, 70mm outside diameter, 66mm inside diameter", "DIY Surround Sound... USING LASERS!", 32, 1285, false, "1H4FuNAByUs", "https://www.youtube.com/watch?v=1H4FuNAByUs", "/downloads/DIY Perks/Season 2024/s2024e121300 - DIY Surround Sound... USING LASERS!.mp4", false, ~U[2024-12-13 19:45:00Z]] 04:21:20.017 [debug] QUERY OK source="sources" db=0.2ms idle=35.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.017 [debug] QUERY OK source="media_items" db=0.3ms idle=13.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-06 13:01:00Z], 32] 04:21:20.018 [debug] QUERY OK source="media_items" db=0.6ms idle=12.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the world's largest iphone turned out to be a MASSIVE challenge! Also, get your first Odoo app for free at https://www.odoo.com/r/cQpS\n\nGo and check out Arun's video here: https://youtu.be/CpCZNCm5zgw\n\n#OdooCreatorsClub #OdooApps @Odoo", "Building the world's largest WORKING iPhone!", "37eb952c-bcd6-4e38-8d12-cd30d4cb6078", false, 32, [], 1925, false, "o8jFJAtVyr8", "https://www.youtube.com/watch?v=o8jFJAtVyr8", 7, "/downloads/DIY Perks/Season 2024/s2024e090600 - Building the world's largest WORKING iPhone!.mp4", false, false, 98, ~U[2024-09-06 13:01:00Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Building the world's largest iphone turned out to be a MASSIVE challenge! Also, get your first Odoo app for free at https://www.odoo.com/r/cQpS\n\nGo and check out Arun's video here: https://youtu.be/CpCZNCm5zgw\n\n#OdooCreatorsClub #OdooApps @Odoo", "Building the world's largest WORKING iPhone!", 32, 1925, false, "o8jFJAtVyr8", "https://www.youtube.com/watch?v=o8jFJAtVyr8", "/downloads/DIY Perks/Season 2024/s2024e090600 - Building the world's largest WORKING iPhone!.mp4", false, ~U[2024-09-06 13:01:00Z]] 04:21:20.018 [debug] QUERY OK source="sources" db=0.1ms idle=13.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.019 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 16:00:24Z], 32] 04:21:20.020 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's build the ENDGAME invisible PC! Thanks to FlexiSpot for sponsoring this project - they're having their Brand Day sale right now! Use code DIYPERKS to get $50 off on their E7 PRO and E7 PLUS desks: https://bit.ly/4d4HD71", "Building the ENDGAME invisible PC", "997484bc-e0b3-428b-a544-ecfe2f1b5d98", false, 32, [], 1650, false, "UQ6ueTe8KQM", "https://www.youtube.com/watch?v=UQ6ueTe8KQM", 8, "/downloads/DIY Perks/Season 2024/s2024e052300 - Building the ENDGAME invisible PC.mp4", false, false, 98, ~U[2024-05-23 16:00:24Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Let's build the ENDGAME invisible PC! Thanks to FlexiSpot for sponsoring this project - they're having their Brand Day sale right now! Use code DIYPERKS to get $50 off on their E7 PRO and E7 PLUS desks: https://bit.ly/4d4HD71", "Building the ENDGAME invisible PC", 32, 1650, false, "UQ6ueTe8KQM", "https://www.youtube.com/watch?v=UQ6ueTe8KQM", "/downloads/DIY Perks/Season 2024/s2024e052300 - Building the ENDGAME invisible PC.mp4", false, ~U[2024-05-23 16:00:24Z]] 04:21:20.020 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.021 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-15 14:00:22Z], 32] 04:21:20.021 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Let's build the world's first PlayStation 5: Tablet Edition! Visit https://dbrand.com/diyperks if you'd like to customise your own PS5!\n\nCHANNEL LINKS:\nPatreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks", "Building a REAL PlayStation 5... PORTABLE!", "6c1aa18d-9c41-4a1c-b713-96a1fd839dd7", false, 32, [], 1090, false, "W4PHhurAhwc", "https://www.youtube.com/watch?v=W4PHhurAhwc", 9, "/downloads/DIY Perks/Season 2024/s2024e011500 - Building a REAL PlayStation 5... PORTABLE!.mp4", false, false, 98, ~U[2024-01-15 14:00:22Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Let's build the world's first PlayStation 5: Tablet Edition! Visit https://dbrand.com/diyperks if you'd like to customise your own PS5!\n\nCHANNEL LINKS:\nPatreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks", "Building a REAL PlayStation 5... PORTABLE!", 32, 1090, false, "W4PHhurAhwc", "https://www.youtube.com/watch?v=W4PHhurAhwc", "/downloads/DIY Perks/Season 2024/s2024e011500 - Building a REAL PlayStation 5... PORTABLE!.mp4", false, ~U[2024-01-15 14:00:22Z]] 04:21:20.022 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.022 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-31 19:15:01Z], 32] 04:21:20.023 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sending PC hardware underwater in style! Thanks to ASUS for sponsoring this build! Visit https://asus.click/DIYPerks to check out the Zenbook Pro 14 Duo OLED for those in search of incredible!\n\nMaking a submersible PC has a lot of challenges, but also a lot of potential benefits. Namely COOLING! Sticking this in a 17c pond should yield impressive results... let's find out.\n\n\nBut thanks to ASUS for sponsoring this build, and for the various manufactures for sending over the hardware:\n\nZotac 4090: https://www.zotac.com/product/graphics_card/zotac-gaming-geforce-rtx-4090-trinity-0\nCrucial T700 SSDs: https://crucial.com/products/ssd/crucial-t700-ssd\nSeasonic Prime Titanium 1000w PSU: https://seasonic.com/prime-ultra-titanium\nWATERCOOLING PARTS: https://www.ekwb.com/\n\n#ASUS #InSearchOfIncredible #Submersible #ISOI2023 #Zenbook #ZenCreator", "Building an ACTUALLY water-cooled PC", "928ea073-2e41-43b3-bedc-8f3903818559", false, 32, [], 1202, false, "yFswDJPvtPY", "https://www.youtube.com/watch?v=yFswDJPvtPY", 10, "/downloads/DIY Perks/Season 2023/s2023e073100 - Building an ACTUALLY water-cooled PC.mp4", false, false, 98, ~U[2023-07-31 19:15:01Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Sending PC hardware underwater in style! Thanks to ASUS for sponsoring this build! Visit https://asus.click/DIYPerks to check out the Zenbook Pro 14 Duo OLED for those in search of incredible!\n\nMaking a submersible PC has a lot of challenges, but also a lot of potential benefits. Namely COOLING! Sticking this in a 17c pond should yield impressive results... let's find out.\n\n\nBut thanks to ASUS for sponsoring this build, and for the various manufactures for sending over the hardware:\n\nZotac 4090: https://www.zotac.com/product/graphics_card/zotac-gaming-geforce-rtx-4090-trinity-0\nCrucial T700 SSDs: https://crucial.com/products/ssd/crucial-t700-ssd\nSeasonic Prime Titanium 1000w PSU: https://seasonic.com/prime-ultra-titanium\nWATERCOOLING PARTS: https://www.ekwb.com/\n\n#ASUS #InSearchOfIncredible #Submersible #ISOI2023 #Zenbook #ZenCreator", "Building an ACTUALLY water-cooled PC", 32, 1202, false, "yFswDJPvtPY", "https://www.youtube.com/watch?v=yFswDJPvtPY", "/downloads/DIY Perks/Season 2023/s2023e073100 - Building an ACTUALLY water-cooled PC.mp4", false, ~U[2023-07-31 19:15:01Z]] 04:21:20.023 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.023 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-06-09 11:15:05Z], 32] 04:21:20.025 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["3D printed speakers can sound so good! Ad: Get an exclusive NordVPN deal here\nhttps://nordvpn.com/diyperksvpn it’s risk-free with Nord’s 30-day money-back \nguarantee!\n\nWant to build these speakers for your own gaming or TV setup? The 3D printable files are available for $29.99 - https://payhip.com/b/dhJrS\n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nIt's approx $500 to build a pair (so $250 per speaker), which is good value when you think that a Sonos or Bose will set you back at least that much only instead of getting a single unit you get a stereo pair with better audio quality to boot!\n\nSubwoofer: Tang Band W3-1876S\nUSA: https://www.parts-express.com/Tang-Band-W3-1876S-3-Mini-Subwoofer-264-909\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1876s.html\n\nMidtone Driver: Tang Band W3-1364SA\nUSA: https://www.parts-express.com/Tang-Band-W3-1364SA-3-Bamboo-Cone-Driver-264-844\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1364sa.html\n\nAlternative mid drivers (these performed similarly and fit the enclosure):\nhttps://www.parts-express.com/Tang-Band-W3-2141-3-Paper-Cone-Full-Range-Driver-8-Ohm-264-956\nhttps://www.parts-express.com/Tang-Band-W3-1797S-3-Neodymium-Midrange-Driver-264-888\n\nDigital Signal Processor :\nhttps://ebay.us/i8U1fC\n\nAmplifier:\nhttps://ebay.us/ZWlpBh\n\nTWEETERS are optional, as the midtone driver + DSP sounds great on its own, but for the best quality a good budget tweeter is the SB Acoustics SB26STCN, which is my favourite overall due to its pricing, but a premium option is a Scanspeak D2608/913000 Tweeter. It has a bit more ‘sparkle’ and refinement, but this will ONLY be appreciated if the final speakers are given a signal from a high-quality output source like a dedicated DAC.\n\nIf you want to print the baffles, the recommended magnet size is 10mm diameter round neodymium magnets, with 5mm depth maximum.\n\n\nFixtures and fittings:\n\n\n40pcs M3 threaded inserts (for the speaker drivers)\n40pcs 3mm x 8mm countersunk m3 black screws (for the speaker drivers)\n200pcs Self-tapping 2mm diameter screws, 10mm length max (build platform screws)\n24pcs 3mm diameter self-tapping screws (amplifier screws, DSP chamber, midtone chamber base)\n2x step-down voltage regulators, 5v output (for powering the DSP and fan)\n2x 1000uf capacitor (add across the output of the regulator to reduce interference)\n2x Power Adapters (100w ideally, each. A low cost option is old laptop power adapters)\n1x roll of 16awg wire\n\nRecommended glue is CT1 - it sticks to PLA well enough and doesn't set too quickly allowing the whole speaker to be screwed together before it begins to dry. This allows any spill over to be wiped away (use an old brush to get inside the air guide etc). Sets with some amout of flexibility. Readily availabe in the UK but not sure about equivalents for other territories. Visit the Forum or Discord server to see what the community recommends for each region.\n\nSAFETY NOTES ON PLASTER OF PARIS: If you're stupid with it, it can be dangerous. NEVER put your hands/feet/whatever into plaster of paris EVER. It can suddenly set without warning, creating a lot of heat in the center, so you'll get burned or worse. Because of this never leave a batch of wet plaster of paris in reach of children or pets. Wearing a mask is recommended to not breathe in any dust, and goggles to stop it splashing into your eyes. Stay safe people!", "Building EXCEPTIONAL speakers using MODERN TECHNIQUES", "b93c29e6-e809-4b81-b8b9-1d338bd83463", false, 32, [], 1339, false, "XEspOD1NHr0", "https://www.youtube.com/watch?v=XEspOD1NHr0", 11, "/downloads/DIY Perks/Season 2023/s2023e060900 - Building EXCEPTIONAL speakers using MODERN TECHNIQUES.mp4", false, false, 98, ~U[2023-06-09 11:15:05Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "3D printed speakers can sound so good! Ad: Get an exclusive NordVPN deal here\nhttps://nordvpn.com/diyperksvpn it’s risk-free with Nord’s 30-day money-back \nguarantee!\n\nWant to build these speakers for your own gaming or TV setup? The 3D printable files are available for $29.99 - https://payhip.com/b/dhJrS\n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nIt's approx $500 to build a pair (so $250 per speaker), which is good value when you think that a Sonos or Bose will set you back at least that much only instead of getting a single unit you get a stereo pair with better audio quality to boot!\n\nSubwoofer: Tang Band W3-1876S\nUSA: https://www.parts-express.com/Tang-Band-W3-1876S-3-Mini-Subwoofer-264-909\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1876s.html\n\nMidtone Driver: Tang Band W3-1364SA\nUSA: https://www.parts-express.com/Tang-Band-W3-1364SA-3-Bamboo-Cone-Driver-264-844\nEU: https://rkn3.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Ftang-band-w3-1364sa.html\n\nAlternative mid drivers (these performed similarly and fit the enclosure):\nhttps://www.parts-express.com/Tang-Band-W3-2141-3-Paper-Cone-Full-Range-Driver-8-Ohm-264-956\nhttps://www.parts-express.com/Tang-Band-W3-1797S-3-Neodymium-Midrange-Driver-264-888\n\nDigital Signal Processor :\nhttps://ebay.us/i8U1fC\n\nAmplifier:\nhttps://ebay.us/ZWlpBh\n\nTWEETERS are optional, as the midtone driver + DSP sounds great on its own, but for the best quality a good budget tweeter is the SB Acoustics SB26STCN, which is my favourite overall due to its pricing, but a premium option is a Scanspeak D2608/913000 Tweeter. It has a bit more ‘sparkle’ and refinement, but this will ONLY be appreciated if the final speakers are given a signal from a high-quality output source like a dedicated DAC.\n\nIf you want to print the baffles, the recommended magnet size is 10mm diameter round neodymium magnets, with 5mm depth maximum.\n\n\nFixtures and fittings:\n\n\n40pcs M3 threaded inserts (for the speaker drivers)\n40pcs 3mm x 8mm countersunk m3 black screws (for the speaker drivers)\n200pcs Self-tapping 2mm diameter screws, 10mm length max (build platform screws)\n24pcs 3mm diameter self-tapping screws (amplifier screws, DSP chamber, midtone chamber base)\n2x step-down voltage regulators, 5v output (for powering the DSP and fan)\n2x 1000uf capacitor (add across the output of the regulator to reduce interference)\n2x Power Adapters (100w ideally, each. A low cost option is old laptop power adapters)\n1x roll of 16awg wire\n\nRecommended glue is CT1 - it sticks to PLA well enough and doesn't set too quickly allowing the whole speaker to be screwed together before it begins to dry. This allows any spill over to be wiped away (use an old brush to get inside the air guide etc). Sets with some amout of flexibility. Readily availabe in the UK but not sure about equivalents for other territories. Visit the Forum or Discord server to see what the community recommends for each region.\n\nSAFETY NOTES ON (truncated) 04:21:20.025 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.026 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-03-13 12:30:31Z], 32] 04:21:20.026 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dual-layer LCD monitors aren't hard to make, but can they perform? AD: Want to try Huel? Visit: https://rebrand.ly/mattdiyperks it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nForum thread: https://forum.diyperks.com/displays-and-monitors-tvs/diy-dual-layer-lcd-monitor/\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "DIY Dual-Layer LCD monitor - can it match OLED??", "9a29f379-9eda-4925-957b-31923c23405e", false, 32, [], 736, false, "ibEN9FTLdkI", "https://www.youtube.com/watch?v=ibEN9FTLdkI", 12, "/downloads/DIY Perks/Season 2023/s2023e031300 - DIY Dual-Layer LCD monitor - can it match OLED??.mp4", false, false, 98, ~U[2023-03-13 12:30:31Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Dual-layer LCD monitors aren't hard to make, but can they perform? AD: Want to try Huel? Visit: https://rebrand.ly/mattdiyperks it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nForum thread: https://forum.diyperks.com/displays-and-monitors-tvs/diy-dual-layer-lcd-monitor/\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "DIY Dual-Layer LCD monitor - can it match OLED??", 32, 736, false, "ibEN9FTLdkI", "https://www.youtube.com/watch?v=ibEN9FTLdkI", "/downloads/DIY Perks/Season 2023/s2023e031300 - DIY Dual-Layer LCD monitor - can it match OLED??.mp4", false, ~U[2023-03-13 12:30:31Z]] 04:21:20.027 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.027 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-31 11:15:01Z], 32] 04:21:20.028 [debug] QUERY OK source="media_items" db=0.7ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Time to make a triple-screen laptop! AD: Want to try Huel? Visit: http://jlinks.io/diyperkshuel it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nDOWNLOAD PACKS\n3D Printable Enclosure: https://diyperks.com/diy-perks-triple-screen-laptop/\nForum Thread & Discussion: https://forum.diyperks.com/computers/diy-triple-screen-laptop/#post-3309\nLive discussion on Discord: https://discord.gg/DAvEyWJCWC\n\nPlease consider supporting the channel on Patreon: http://patreon.com/diyperks\n\n\n\nOther useful links: \n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nFramework Mainboard: https://frame.work//marketplace/mainboards\n\n4k 120Hz Panel: \nhttps://ebay.us/qrshka\nhttps://www.aliexpress.com/item/1005004255247666.html\n\niPad Retina panels:\nhttps://ebay.us/t5DIPx\nhttps://www.adafruit.com/product/1751\nhttps://www.adafruit.com/product/1716\n\nCables:\nhttps://amzn.to/3wFs7KE\nhttps://amzn.to/3DqbRkk\nhttps://amzn.to/3WS4JEv\nhttps://amzn.to/3kXhK2k\n\n3D Printer:\nhttps://www.prusa3d.com/", "Triple-Screen Laptop DONE RIGHT!", "be9a72ce-fb27-49a1-9d39-f682927ebca0", false, 32, [], 728, false, "aUKpY0o5tMo", "https://www.youtube.com/watch?v=aUKpY0o5tMo", 13, "/downloads/DIY Perks/Season 2023/s2023e013100 - Triple-Screen Laptop DONE RIGHT!.mp4", false, false, 98, ~U[2023-01-31 11:15:01Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Time to make a triple-screen laptop! AD: Want to try Huel? Visit: http://jlinks.io/diyperkshuel it’s SUPER tasty! Thanks to @HuelYT for the sponsorship!\n\nDOWNLOAD PACKS\n3D Printable Enclosure: https://diyperks.com/diy-perks-triple-screen-laptop/\nForum Thread & Discussion: https://forum.diyperks.com/computers/diy-triple-screen-laptop/#post-3309\nLive discussion on Discord: https://discord.gg/DAvEyWJCWC\n\nPlease consider supporting the channel on Patreon: http://patreon.com/diyperks\n\n\n\nOther useful links: \n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nFramework Mainboard: https://frame.work//marketplace/mainboards\n\n4k 120Hz Panel: \nhttps://ebay.us/qrshka\nhttps://www.aliexpress.com/item/1005004255247666.html\n\niPad Retina panels:\nhttps://ebay.us/t5DIPx\nhttps://www.adafruit.com/product/1751\nhttps://www.adafruit.com/product/1716\n\nCables:\nhttps://amzn.to/3wFs7KE\nhttps://amzn.to/3DqbRkk\nhttps://amzn.to/3WS4JEv\nhttps://amzn.to/3kXhK2k\n\n3D Printer:\nhttps://www.prusa3d.com/", "Triple-Screen Laptop DONE RIGHT!", 32, 728, false, "aUKpY0o5tMo", "https://www.youtube.com/watch?v=aUKpY0o5tMo", "/downloads/DIY Perks/Season 2023/s2023e013100 - Triple-Screen Laptop DONE RIGHT!.mp4", false, ~U[2023-01-31 11:15:01Z]] 04:21:20.028 [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" = ?) [32] 04:21:20.029 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-17 10:15:00Z], 32] 04:21:20.030 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Media setups aren't usually this minimal! AD For more info on LG QNED mini LED TV : https://bit.ly/LGQNED91_DIY \n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nCrazy-good DSP Amplifiers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kabd-4100.html\n\nTweeters: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&ws=&dl=en%2Fsb-acoustics-sb26stcn-c000-4.html\n\nMid drivers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-rs125p-8.html\n\nSubwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsb-acoustics-sw26dbac76-4.html\n\nLower cost but practically identical subwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-ls12-44.html\n\nFor 5.1 audio, one amp needs an additional two inputs, which can be acheived with one of these https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsure-electronics-aa-ab41161.html (amp's micro switch needs to be in the 'S' position) \n\nThe amps need a programming board to adjust their settings: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kpx.html which can be utilised with Sigma Studio (free software)\n\n5.1 HDMI Audio decoder board: https://s.click.aliexpress.com/e/_DnErkFt\n\nConcealed hinges: https://amzn.to/3Eq9FdX\n\nFireplace: https://amzn.to/3fPOLLg\n\n3D Plans (Sketchup): https://diyperks.com/ikyteech/DIY-Perks-Invisible-TV-Plans.zip\n\nForum: https://forum.diyperks.com\nDiscord: https://discord.com/invite/XuTCwVwwnC", "Building an invisible TV", "67892d85-b259-44f3-a6c5-ed8d8f0ce19b", false, 32, [], 1080, false, "2fX1qYMcfgs", "https://www.youtube.com/watch?v=2fX1qYMcfgs", 14, "/downloads/DIY Perks/Season 2022/s2022e101700 - Building an invisible TV.mp4", false, false, 98, ~U[2022-10-17 10:15:00Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Media setups aren't usually this minimal! AD For more info on LG QNED mini LED TV : https://bit.ly/LGQNED91_DIY \n\nParts list:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nCrazy-good DSP Amplifiers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kabd-4100.html\n\nTweeters: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&ws=&dl=en%2Fsb-acoustics-sb26stcn-c000-4.html\n\nMid drivers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-rs125p-8.html\n\nSubwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsb-acoustics-sw26dbac76-4.html\n\nLower cost but practically identical subwoofers: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-ls12-44.html\n\nFor 5.1 audio, one amp needs an additional two inputs, which can be acheived with one of these https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fsure-electronics-aa-ab41161.html (amp's micro switch needs to be in the 'S' position) \n\nThe amps need a programming board to adjust their settings: https://ndt5.net/c/?si=14570&li=1627332&wi=363790&dl=en%2Fdayton-audio-kpx.html which can be utilised with Sigma Studio (free software)\n\n5.1 HDMI Audio decoder board: https://s.click.aliexpress.com/e/_DnErkFt\n\nConcealed hinges: https://amzn.to/3Eq9FdX\n\nFireplace: https://amzn.to/3fPOLLg\n\n3D Plans (Sketchup): https://diyperks.com/ikyteech/DIY-Perks-Invisible-TV-Plans.zip\n\nForum: https://forum.diyperks.com\nDiscord: https://discord.com/invite/XuTCwVwwnC", "Building an invisible TV", 32, 1080, false, "2fX1qYMcfgs", "https://www.youtube.com/watch?v=2fX1qYMcfgs", "/downloads/DIY Perks/Season 2022/s2022e101700 - Building an invisible TV.mp4", false, ~U[2022-10-17 10:15:00Z]] 04:21:20.030 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.031 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-30 18:30:08Z], 32] 04:21:20.031 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can this old lens become legendary? I think it can! AD: Regarding HelloFresh, use code POGDIYJULY16 for 16 FREE MEALS across 7 boxes + 3 FREE GIFTS at https://strms.net/hellofresh_diyperks", "Building a Next-Level Camera", "8b5c2504-1a52-46d4-bfc0-bcbfc2a5e1f4", false, 32, [], 867, false, "9cT0jXI7l4E", "https://www.youtube.com/watch?v=9cT0jXI7l4E", 15, "/downloads/DIY Perks/Season 2022/s2022e073000 - Building a Next-Level Camera.mp4", false, false, 98, ~U[2022-07-30 18:30:08Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Can this old lens become legendary? I think it can! AD: Regarding HelloFresh, use code POGDIYJULY16 for 16 FREE MEALS across 7 boxes + 3 FREE GIFTS at https://strms.net/hellofresh_diyperks", "Building a Next-Level Camera", 32, 867, false, "9cT0jXI7l4E", "https://www.youtube.com/watch?v=9cT0jXI7l4E", "/downloads/DIY Perks/Season 2022/s2022e073000 - Building a Next-Level Camera.mp4", false, ~U[2022-07-30 18:30:08Z]] 04:21:20.032 [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" = ?) [32] 04:21:20.032 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-19 11:00:30Z], 32] 04:21:20.033 [debug] QUERY OK source="media_items" db=0.5ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The PlayStation 5 is a BIG console... let's fix that! Also, visit http://dbrand.com/diydarkplates if you'd like to customise your own PS5!\n\nWant to support DIY Perks? http://patreon.com/diyperks\n\nOr buy a cool t-shirt!: https://diy-perks.creator-spring.com/listing/diy-perks-fan\n\nJoin the chat!\nhttps://discord.com/invite/diyperks\nhttp://forum.diyperks.com\n\nThanks to Alphacool for the watercooling parts! https://www.alphacool.com/", "Building the WORLDS FIRST PlayStation 5 slim", "27ba6492-5dd1-4c12-a8c6-d4d14faa0768", false, 32, [], 1746, false, "he6xyl_MHXY", "https://www.youtube.com/watch?v=he6xyl_MHXY", 16, "/downloads/DIY Perks/Season 2022/s2022e061900 - Building the WORLDS FIRST PlayStation 5 slim.mp4", false, false, 98, ~U[2022-06-19 11:00:30Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "The PlayStation 5 is a BIG console... let's fix that! Also, visit http://dbrand.com/diydarkplates if you'd like to customise your own PS5!\n\nWant to support DIY Perks? http://patreon.com/diyperks\n\nOr buy a cool t-shirt!: https://diy-perks.creator-spring.com/listing/diy-perks-fan\n\nJoin the chat!\nhttps://discord.com/invite/diyperks\nhttp://forum.diyperks.com\n\nThanks to Alphacool for the watercooling parts! https://www.alphacool.com/", "Building the WORLDS FIRST PlayStation 5 slim", 32, 1746, false, "he6xyl_MHXY", "https://www.youtube.com/watch?v=he6xyl_MHXY", "/downloads/DIY Perks/Season 2022/s2022e061900 - Building the WORLDS FIRST PlayStation 5 slim.mp4", false, ~U[2022-06-19 11:00:30Z]] 04:21:20.033 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.033 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-08 11:00:35Z], 32] 04:21:20.034 [debug] QUERY OK source="media_items" db=0.6ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PC Speakers haven't been that great... until now! AD: join BetterHelp and get 10% off your first month at https://betterhelp.com/diyperks\n\nDiscuss this project on the new forum! https://forum.diyperks.com/audio/the-ultimate-pc-sound-system-official-thread/\n\nFULL BUILD GUIDE: https://www.youtube.com/watch?v=408HxcN2gw4\nDownload the resource pack here: https://diyperks.com/the-ultimate-pc-sound-system/\n\n\nCHANNEL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks\n\nPurchasing links for the various components required:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nSubwoofer: https://ebay.us/su8tk4\nTweeters: https://amzn.to/3LKEVoy\nMidtone-drivers: https://ebay.us/bLsuag\nAmplifier (subwoofer): https://ebay.us/KPoUSN\nAmplifier (main): https://ebay.us/sjf6c6\nBlack-tack putty: https://amzn.to/3uiRfXf\nLEDs: https://ebay.us/RMQPfs\nLED Channelling: https://amzn.to/3uYC0Sl\nDAC (expensive but GOOD!) https://amzn.to/3v2SEQJ", "Building a PC sound deck... with a twist!", "737e5215-94e1-4d15-8030-649ca911a2a9", false, 32, [], 993, false, "nmU7u_RFFSo", "https://www.youtube.com/watch?v=nmU7u_RFFSo", 17, "/downloads/DIY Perks/Season 2022/s2022e040800 - Building a PC sound deck... with a twist!.mp4", false, false, 98, ~U[2022-04-08 11:00:35Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "PC Speakers haven't been that great... until now! AD: join BetterHelp and get 10% off your first month at https://betterhelp.com/diyperks\n\nDiscuss this project on the new forum! https://forum.diyperks.com/audio/the-ultimate-pc-sound-system-official-thread/\n\nFULL BUILD GUIDE: https://www.youtube.com/watch?v=408HxcN2gw4\nDownload the resource pack here: https://diyperks.com/the-ultimate-pc-sound-system/\n\n\nCHANNEL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nForum: https://forum.diyperks.com\nDiscord: https://discord.gg/diyperks\nTwitter: https://twitter.com/DIYPerks\n\nPurchasing links for the various components required:\n\nDisclosure: These are affiliate links. If you click them and make a purchase from the various merchants they link to, DIY Perks may earn a commission. Affiliate programs and affiliations include, but are not limited to the eBay Partner Network and Amazon Associates.\n\nSubwoofer: https://ebay.us/su8tk4\nTweeters: https://amzn.to/3LKEVoy\nMidtone-drivers: https://ebay.us/bLsuag\nAmplifier (subwoofer): https://ebay.us/KPoUSN\nAmplifier (main): https://ebay.us/sjf6c6\nBlack-tack putty: https://amzn.to/3uiRfXf\nLEDs: https://ebay.us/RMQPfs\nLED Channelling: https://amzn.to/3uYC0Sl\nDAC (expensive but GOOD!) https://amzn.to/3v2SEQJ", "Building a PC sound deck... with a twist!", 32, 993, false, "nmU7u_RFFSo", "https://www.youtube.com/watch?v=nmU7u_RFFSo", "/downloads/DIY Perks/Season 2022/s2022e040800 - Building a PC sound deck... with a twist!.mp4", false, ~U[2022-04-08 11:00:35Z]] 04:21:20.035 [debug] QUERY OK source="sources" db=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.035 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-03-02 12:30:11Z], 32] 04:21:20.036 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sometimes niche situations call for ultra-custom DIY solutions! Big thanks to Arun from Mrwhosetheboss for the opportunity! You can check out his channel @Mrwhosetheboss and his 10m subscriber special here: https://youtube.com/watch?v=mxiEI65M9_M\n\nMassive thanks to Lamar for programming this thing! https://twitter.com/Lite5h4dow\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!)", "259fdfa0-0b0e-492b-9651-ec9999ada697", false, 32, [], 671, false, "sVc5szSrfIQ", "https://www.youtube.com/watch?v=sVc5szSrfIQ", 18, "/downloads/DIY Perks/Season 2022/s2022e030200 - Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!).mp4", false, false, 98, ~U[2022-03-02 12:30:11Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Sometimes niche situations call for ultra-custom DIY solutions! Big thanks to Arun from Mrwhosetheboss for the opportunity! You can check out his channel @Mrwhosetheboss and his 10m subscriber special here: https://youtube.com/watch?v=mxiEI65M9_M\n\nMassive thanks to Lamar for programming this thing! https://twitter.com/Lite5h4dow\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://forum.diyperks.com\nTwitter: https://twitter.com/DIYPerks", "Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!)", 32, 671, false, "sVc5szSrfIQ", "https://www.youtube.com/watch?v=sVc5szSrfIQ", "/downloads/DIY Perks/Season 2022/s2022e030200 - Pushing DIY to the EXTREME! (ft. Mrwhosetheboss!).mp4", false, ~U[2022-03-02 12:30:11Z]] 04:21:20.036 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:21:20.037 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-12-03 14:00:31Z], 32] 04:21:20.038 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a submarine with full buoyancy control? YES! Also, visit http://kiwico.com/diyperks for your first month of selected crates COMPLETELY FREE! \n\nYou can check out James's finished (and now working!) submarine here! https://www.youtube.com/watch?v=kEanKJhZvA0\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://diyperks.com/community/\nTwitter: https://twitter.com/DIYPerks", "Building a DIY submarine", "10fcdc12-a2d0-4d2b-9c78-9996c769cb79", false, 32, [], 1652, false, "pUba126uzvU", "https://www.youtube.com/watch?v=pUba126uzvU", 19, "/downloads/DIY Perks/Season 2021/s2021e120300 - Building a DIY submarine.mp4", false, false, 98, ~U[2021-12-03 14:00:31Z], ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], "Building a submarine with full buoyancy control? YES! Also, visit http://kiwico.com/diyperks for your first month of selected crates COMPLETELY FREE! \n\nYou can check out James's finished (and now working!) submarine here! https://www.youtube.com/watch?v=kEanKJhZvA0\n\nOFFICIAL LINKS:\nSupport me on Patreon: https://www.patreon.com/DIYPerks/\nOfficial Website: https://www.diyperks.com/\nDiscord: https://diyperks.com/discord-server/\nForums: https://diyperks.com/community/\nTwitter: https://twitter.com/DIYPerks", "Building a DIY submarine", 32, 1652, false, "pUba126uzvU", "https://www.youtube.com/watch?v=pUba126uzvU", "/downloads/DIY Perks/Season 2021/s2021e120300 - Building a DIY submarine.mp4", false, ~U[2021-12-03 14:00:31Z]] 04:21:20.038 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z], 32] 04:21:20.039 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 04:21:20.039 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 04:21:20.039 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 04:21:20.041 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133839, 32, ~U[2026-08-05 02:21:20Z], ~U[2026-08-05 02:21:20Z]] 04:21:20.041 [info] {"args":{"id":32},"id":133331,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":22875608,"event":"job:stop","queue_time":945996,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:21:47.102 [info] {"source":"oban","duration":2583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.439 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:17.105 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:47.107 [info] {"source":"oban","duration":2497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.440 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:17.109 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:47.112 [info] {"source":"oban","duration":2498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.441 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:17.114 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:47.117 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.442 [info] {"source":"oban","duration":102,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:17.119 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:47.120 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.443 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:17.123 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 04:26:47.136 [info] {"source":"oban","duration":12100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 04:27:00.444 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:17.138 [info] {"source":"oban","duration":1122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:21.570 [info] {"args":{"id":4429248},"id":133420,"meta":{},"system_time":1785896841570100384,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:27:21.570 [debug] QUERY OK source="media_items" db=0.1ms idle=704.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4429248] 04:27:21.570 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:27:21.570 [debug] QUERY OK source="sources" db=0.2ms idle=705.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:27:21.571 [debug] QUERY OK source="media_profiles" db=0.1ms idle=705.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:21.571 [debug] QUERY OK source="media_items" db=0.3ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4429248] 04:27:21.572 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4429248] 04:27:21.572 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:21.572 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:21.572 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:21.573 [debug] Running yt-dlp command for action: get_downloadable_status 04:27:21.573 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:21.573 [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 [] 04:27:21.573 [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 [] 04:27:21.573 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/30/b930bbbd980d5899d63bc686e0471e608af35334f4879b4f151f497ccba84cf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:27:23.458 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2l5xBUqIlig --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/30/b930bbbd980d5899d63bc686e0471e608af35334f4879b4f151f497ccba84cf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:27:23.458 [error] yt-dlp download error for media item #4429248: "WARNING: [youtube] 2l5xBUqIlig: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 2l5xBUqIlig: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:27:23.459 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4429248},"id":133420,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1888908,"event":"job:exception","queue_time":319310,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:27:42.593 [info] {"args":{"id":47},"id":133332,"meta":{},"system_time":1785896862593307636,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:27:42.593 [debug] QUERY OK source="sources" db=0.2ms idle=1007.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:42.594 [debug] QUERY OK source="settings" db=0.1ms idle=1002.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.595 [debug] QUERY OK source="media_items" db=1.2ms idle=7.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [47] 04:27:42.605 [debug] QUERY OK source="media_items" db=9.9ms idle=2.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [47] 04:27:42.605 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:42.606 [debug] QUERY OK source="settings" db=0.0ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.606 [debug] QUERY OK source="settings" db=0.0ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.607 [debug] QUERY OK source="media_items" db=1.1ms idle=11.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [47] 04:27:42.608 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:27:42.608 [debug] Current batch of media processed. Will check again in 1000ms 04:27:42.608 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.609 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.609 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:42.609 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@bourbonmoth?si=GJaI9Zy9VryO4Nae --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Bourbon Moth Woodworking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b3/82/b3820dda11ad909a64ffc0a7f6460282616a4373cb7a3c6f595ad1e03e181abd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b1/39/b139e34df1699104e272eb5e00e4e74f7abca852123665068367af00cfec2e3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:27:43.609 [debug] Current batch of media processed. Will check again in 1000ms 04:27:44.610 [debug] Current batch of media processed. Will check again in 1000ms 04:27:45.611 [debug] Current batch of media processed. Will check again in 1000ms 04:27:46.612 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 20% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nCushion Source: https://tinyurl.com/32aj34kk\nHeavy Duty Drawer Slides: https://amzn.to/4wpQtW4\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 2018, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e072500 - Cabinet Building for Beginners.mp4", "id" => "1cuXrs0-l5w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1cuXrs0-l5w", "playlist_index" => 1, "timestamp" => 1784980813, "title" => "Cabinet Building for Beginners", "upload_date" => "20260725"} 04:27:46.613 [debug] QUERY OK source="sources" db=0.1ms idle=747.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:46.613 [debug] QUERY OK source="sources" db=0.1ms idle=747.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:46.613 [debug] QUERY OK source="media_items" db=0.2ms idle=748.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 12:00:13Z], 47] 04:27:46.614 [debug] QUERY OK source="media_items" db=0.8ms idle=22.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 20% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nCushion Source: https://tinyurl.com/32aj34kk\nHeavy Duty Drawer Slides: https://amzn.to/4wpQtW4\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Cabinet Building for Beginners", "128ab659-c347-4826-882f-eb56cc7bd8db", false, 47, [], 2018, false, "1cuXrs0-l5w", "https://www.youtube.com/watch?v=1cuXrs0-l5w", 1, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e072500 - Cabinet Building for Beginners.mp4", false, false, 98, ~U[2026-07-25 12:00:13Z], ~U[2026-08-05 02:27:46Z], ~U[2026-08-05 02:27:46Z], "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 20% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nCushion Source: https://tinyurl.com/32aj34kk\nHeavy Duty Drawer Slides: https://amzn.to/4wpQtW4\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Cabinet Building for Beginners", 47, 2018, false, "1cuXrs0-l5w", "https://www.youtube.com/watch?v=1cuXrs0-l5w", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e072500 - Cabinet Building for Beginners.mp4", false, ~U[2026-07-25 12:00:13Z]] 04:27:46.615 [debug] QUERY OK source="sources" db=0.2ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:46.615 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:46.615 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5214827] 04:27:46.616 [debug] Current batch of media processed. Will check again in 1000ms 04:27:47.141 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:47.616 [debug] Current batch of media processed. Will check again in 1000ms 04:27:48.617 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nSeahawks YouTube: https://youtube.com/@Seahawks?si=3LL0Q-YtbNSw9WY5\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\nWall Paneling: https://www.thewoodveneerhub.com/?im_ref=2ZtwYTURtxyZUupWK-xGfxuUUkuXwgTF2VZd0Q0&sharedid=bing&irpid=2003851&irgwc=1&afsrc=1\nEvolve Stone: https://amzn.to/4vESlJl\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1770, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071800 - We Built The Ultimate NFL Video Studio From Scratch.mp4", "id" => "rJtjVUeAcQk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rJtjVUeAcQk", "playlist_index" => 2, "timestamp" => 1784376006, "title" => "We Built The Ultimate NFL Video Studio From Scratch", "upload_date" => "20260718"} 04:27:48.618 [debug] QUERY OK source="sources" db=0.1ms idle=1019.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:48.618 [debug] QUERY OK source="sources" db=0.0ms idle=752.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:48.619 [debug] QUERY OK source="media_items" db=0.7ms idle=752.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-18 12:00:06Z], 47] 04:27:48.631 [debug] QUERY OK source="media_items" db=11.6ms idle=26.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nSeahawks YouTube: https://youtube.com/@Seahawks?si=3LL0Q-YtbNSw9WY5\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\nWall Paneling: https://www.thewoodveneerhub.com/?im_ref=2ZtwYTURtxyZUupWK-xGfxuUUkuXwgTF2VZd0Q0&sharedid=bing&irpid=2003851&irgwc=1&afsrc=1\nEvolve Stone: https://amzn.to/4vESlJl\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "We Built The Ultimate NFL Video Studio From Scratch", "a27a6f08-7912-47da-89e3-689dad83e307", false, 47, [], 1770, false, "rJtjVUeAcQk", "https://www.youtube.com/watch?v=rJtjVUeAcQk", 2, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071800 - We Built The Ultimate NFL Video Studio From Scratch.mp4", false, false, 98, ~U[2026-07-18 12:00:06Z], ~U[2026-08-05 02:27:48Z], ~U[2026-08-05 02:27:48Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nSeahawks YouTube: https://youtube.com/@Seahawks?si=3LL0Q-YtbNSw9WY5\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\nWall Paneling: https://www.thewoodveneerhub.com/?im_ref=2ZtwYTURtxyZUupWK-xGfxuUUkuXwgTF2VZd0Q0&sharedid=bing&irpid=2003851&irgwc=1&afsrc=1\nEvolve Stone: https://amzn.to/4vESlJl\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "We Built The Ultimate NFL Video Studio From Scratch", 47, 1770, false, "rJtjVUeAcQk", "https://www.youtube.com/watch?v=rJtjVUeAcQk", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071800 - We Built The Ultimate NFL Video Studio From Scratch.mp4", false, ~U[2026-07-18 12:00:06Z]] 04:27:48.631 [debug] QUERY OK source="sources" db=0.2ms idle=32.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:48.632 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:48.632 [debug] QUERY OK source="media_items" db=0.2ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5187911] 04:27:48.632 [debug] Current batch of media processed. Will check again in 1000ms 04:27:49.633 [debug] Current batch of media processed. Will check again in 1000ms 04:27:50.634 [debug] Current batch of media processed. Will check again in 1000ms 04:27:51.635 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1735, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071100 - I'm In WAY Over My Head || Giving The Seahawks a Level Up.mp4", "id" => "lJ5IiQ1Ex0Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lJ5IiQ1Ex0Y", "playlist_index" => 3, "timestamp" => 1783771211, "title" => "I'm In WAY Over My Head || Giving The Seahawks a Level Up", "upload_date" => "20260711"} 04:27:51.636 [debug] QUERY OK source="sources" db=0.2ms idle=1770.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:51.636 [debug] QUERY OK source="sources" db=0.0ms idle=1040.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:51.637 [debug] QUERY OK source="media_items" db=0.7ms idle=1034.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 12:00:11Z], 47] 04:27:51.647 [debug] QUERY OK source="media_items" db=10.0ms idle=40.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I'm In WAY Over My Head || Giving The Seahawks a Level Up", "4ea9a5fa-e945-4e0c-b115-960c015f077a", false, 47, [], 1735, false, "lJ5IiQ1Ex0Y", "https://www.youtube.com/watch?v=lJ5IiQ1Ex0Y", 3, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071100 - I'm In WAY Over My Head || Giving The Seahawks a Level Up.mp4", false, false, 98, ~U[2026-07-11 12:00:11Z], ~U[2026-08-05 02:27:51Z], ~U[2026-08-05 02:27:51Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I'm In WAY Over My Head || Giving The Seahawks a Level Up", 47, 1735, false, "lJ5IiQ1Ex0Y", "https://www.youtube.com/watch?v=lJ5IiQ1Ex0Y", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071100 - I'm In WAY Over My Head || Giving The Seahawks a Level Up.mp4", false, ~U[2026-07-11 12:00:11Z]] 04:27:51.648 [debug] QUERY OK source="sources" db=0.1ms idle=45.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:51.648 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:51.648 [debug] QUERY OK source="media_items" db=0.1ms idle=12.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5160950] 04:27:51.649 [debug] Current batch of media processed. Will check again in 1000ms 04:27:52.649 [debug] Current batch of media processed. Will check again in 1000ms 04:27:53.650 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1883, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e062700 - Easy One Day Build || Custom White Oak Bar Tables.mp4", "id" => "WJjVL4vcN1c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WJjVL4vcN1c", "playlist_index" => 4, "timestamp" => 1782561471, "title" => "Easy One Day Build || Custom White Oak Bar Tables", "upload_date" => "20260627"} 04:27:53.651 [debug] QUERY OK source="sources" db=0.1ms idle=785.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:53.651 [debug] QUERY OK source="sources" db=0.1ms idle=785.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:53.652 [debug] QUERY OK source="media_items" db=0.8ms idle=785.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 11:57:51Z], 47] 04:27:53.653 [debug] QUERY OK source="media_items" db=1.3ms idle=52.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Easy One Day Build || Custom White Oak Bar Tables", "6234017b-a5a2-4814-9956-1532cec86490", false, 47, [], 1883, false, "WJjVL4vcN1c", "https://www.youtube.com/watch?v=WJjVL4vcN1c", 4, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e062700 - Easy One Day Build || Custom White Oak Bar Tables.mp4", false, false, 98, ~U[2026-06-27 11:57:51Z], ~U[2026-08-05 02:27:53Z], ~U[2026-08-05 02:27:53Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Easy One Day Build || Custom White Oak Bar Tables", 47, 1883, false, "WJjVL4vcN1c", "https://www.youtube.com/watch?v=WJjVL4vcN1c", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e062700 - Easy One Day Build || Custom White Oak Bar Tables.mp4", false, ~U[2026-06-27 11:57:51Z]] 04:27:53.654 [debug] QUERY OK source="sources" db=0.1ms idle=48.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:53.654 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:53.654 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5112425] 04:27:53.655 [debug] Current batch of media processed. Will check again in 1000ms 04:27:54.655 [debug] Current batch of media processed. Will check again in 1000ms 04:27:55.656 [debug] Current batch of media processed. Will check again in 1000ms 04:27:56.610 [info] {"args":{"id":5104350},"id":133415,"meta":{},"system_time":1785896876610102483,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:27:56.610 [debug] QUERY OK source="media_items" db=0.1ms idle=1744.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5104350] 04:27:56.610 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:27:56.610 [debug] QUERY OK source="sources" db=0.1ms idle=1007.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:27:56.611 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1002.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:56.611 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5104350] 04:27:56.621 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5104350] 04:27:56.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:56.622 [debug] QUERY OK source="settings" db=0.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:56.622 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:56.622 [debug] Running yt-dlp command for action: get_downloadable_status 04:27:56.623 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:56.623 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:27:56.623 [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 [] 04:27:56.623 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/86/4286833c9af6ad0db72186bccaf7d2a9eaf3090b1c511b9edfb2e78f6eb61ed7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:27:56.657 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 2678, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e060600 - Giant Oak Benches || Did i make a huge Mistake?.mp4", "id" => "4QjTh_6uGDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4QjTh_6uGDM", "playlist_index" => 5, "timestamp" => 1780747216, "title" => "Giant Oak Benches || Did i make a huge Mistake?", "upload_date" => "20260606"} 04:27:56.658 [debug] QUERY OK source="sources" db=0.2ms idle=35.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:56.658 [debug] QUERY OK source="sources" db=0.1ms idle=35.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:56.659 [debug] QUERY OK source="media_items" db=0.8ms idle=35.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 12:00:16Z], 47] 04:27:56.660 [debug] QUERY OK source="media_items" db=1.3ms idle=36.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Giant Oak Benches || Did i make a huge Mistake?", "89c12769-2069-44cc-8136-37ce93f904b4", false, 47, [], 2678, false, "4QjTh_6uGDM", "https://www.youtube.com/watch?v=4QjTh_6uGDM", 5, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e060600 - Giant Oak Benches || Did i make a huge Mistake?.mp4", false, false, 98, ~U[2026-06-06 12:00:16Z], ~U[2026-08-05 02:27:56Z], ~U[2026-08-05 02:27:56Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Giant Oak Benches || Did i make a huge Mistake?", 47, 2678, false, "4QjTh_6uGDM", "https://www.youtube.com/watch?v=4QjTh_6uGDM", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e060600 - Giant Oak Benches || Did i make a huge Mistake?.mp4", false, ~U[2026-06-06 12:00:16Z]] 04:27:56.661 [debug] QUERY OK source="sources" db=0.1ms idle=37.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:56.661 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:56.662 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5041809] 04:27:56.662 [debug] Current batch of media processed. Will check again in 1000ms 04:27:57.662 [debug] Current batch of media processed. Will check again in 1000ms 04:27:58.660 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mdBqjgGMlbg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/86/4286833c9af6ad0db72186bccaf7d2a9eaf3090b1c511b9edfb2e78f6eb61ed7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:27:58.660 [error] yt-dlp download error for media item #5104350: "WARNING: [youtube] mdBqjgGMlbg: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] mdBqjgGMlbg: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:27:58.660 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":5104350},"id":133415,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2050271,"event":"job:exception","queue_time":232307,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:27:58.663 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 2466, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e052300 - This is not real furniture || Re-thinking Cabinet design.mp4", "id" => "C_6lpY3b-UI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C_6lpY3b-UI", "playlist_index" => 6, "timestamp" => 1779537612, "title" => "This is not real furniture || Re-thinking Cabinet design", "upload_date" => "20260523"} 04:27:58.663 [debug] QUERY OK source="sources" db=0.2ms idle=798.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:27:58.664 [debug] QUERY OK source="sources" db=0.1ms idle=798.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:58.665 [debug] QUERY OK source="media_items" db=1.1ms idle=57.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 12:00:12Z], 47] 04:27:58.676 [debug] QUERY OK source="media_items" db=10.3ms idle=52.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "This is not real furniture || Re-thinking Cabinet design", "8fe624dd-2252-47c8-a23c-838d4e07ee78", false, 47, [], 2466, false, "C_6lpY3b-UI", "https://www.youtube.com/watch?v=C_6lpY3b-UI", 6, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e052300 - This is not real furniture || Re-thinking Cabinet design.mp4", false, false, 98, ~U[2026-05-23 12:00:12Z], ~U[2026-08-05 02:27:58Z], ~U[2026-08-05 02:27:58Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "This is not real furniture || Re-thinking Cabinet design", 47, 2466, false, "C_6lpY3b-UI", "https://www.youtube.com/watch?v=C_6lpY3b-UI", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e052300 - This is not real furniture || Re-thinking Cabinet design.mp4", false, ~U[2026-05-23 12:00:12Z]] 04:27:58.676 [debug] QUERY OK source="sources" db=0.1ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:27:58.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:27:58.677 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4990131] 04:27:58.677 [debug] Current batch of media processed. Will check again in 1000ms 04:27:59.678 [debug] Current batch of media processed. Will check again in 1000ms 04:28:00.445 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:00.679 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1499, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050900 - I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!.mp4", "id" => "dWtJXcS7HcM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dWtJXcS7HcM", "playlist_index" => 7, "timestamp" => 1778328071, "title" => "I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!", "upload_date" => "20260509"} 04:28:00.679 [debug] QUERY OK source="sources" db=0.1ms idle=814.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:00.680 [debug] QUERY OK source="sources" db=0.1ms idle=814.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:00.681 [debug] QUERY OK source="media_items" db=1.0ms idle=234.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 12:01:11Z], 47] 04:28:00.692 [debug] QUERY OK source="media_items" db=10.3ms idle=72.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!", "bef9aab6-5f32-4e52-8fea-5900171eb154", false, 47, [], 1499, false, "dWtJXcS7HcM", "https://www.youtube.com/watch?v=dWtJXcS7HcM", 7, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050900 - I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!.mp4", false, false, 98, ~U[2026-05-09 12:01:11Z], ~U[2026-08-05 02:28:00Z], ~U[2026-08-05 02:28:00Z], "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!", 47, 1499, false, "dWtJXcS7HcM", "https://www.youtube.com/watch?v=dWtJXcS7HcM", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050900 - I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!.mp4", false, ~U[2026-05-09 12:01:11Z]] 04:28:00.692 [debug] QUERY OK source="sources" db=0.2ms idle=77.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:00.693 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:00.693 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4939610] 04:28:00.693 [debug] Current batch of media processed. Will check again in 1000ms 04:28:01.694 [debug] Current batch of media processed. Will check again in 1000ms 04:28:02.695 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tI9ySr\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1957, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050200 - Installing Dust collection || Major Woodshop Upgrade.mp4", "id" => "1dmQw2wisvA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1dmQw2wisvA", "playlist_index" => 8, "timestamp" => 1777723204, "title" => "Installing Dust collection || Major Woodshop Upgrade", "upload_date" => "20260502"} 04:28:02.696 [debug] QUERY OK source="sources" db=0.2ms idle=830.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:02.696 [debug] QUERY OK source="sources" db=0.1ms idle=831.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:02.697 [debug] QUERY OK source="media_items" db=0.7ms idle=831.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 12:00:04Z], 47] 04:28:02.708 [debug] QUERY OK source="media_items" db=10.6ms idle=85.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tI9ySr\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Installing Dust collection || Major Woodshop Upgrade", "dbeb4f66-2317-44f0-b36f-e6466903ca50", false, 47, [], 1957, false, "1dmQw2wisvA", "https://www.youtube.com/watch?v=1dmQw2wisvA", 8, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050200 - Installing Dust collection || Major Woodshop Upgrade.mp4", false, false, 98, ~U[2026-05-02 12:00:04Z], ~U[2026-08-05 02:28:02Z], ~U[2026-08-05 02:28:02Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tI9ySr\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Installing Dust collection || Major Woodshop Upgrade", 47, 1957, false, "1dmQw2wisvA", "https://www.youtube.com/watch?v=1dmQw2wisvA", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050200 - Installing Dust collection || Major Woodshop Upgrade.mp4", false, ~U[2026-05-02 12:00:04Z]] 04:28:02.708 [debug] QUERY OK source="sources" db=0.2ms idle=90.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:02.709 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:02.709 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4914487] 04:28:02.710 [debug] Current batch of media processed. Will check again in 1000ms 04:28:03.620 [info] {"args":{"id":4608339},"id":133421,"meta":{},"system_time":1785896883620126372,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:28:03.620 [debug] QUERY OK source="media_items" db=0.1ms idle=911.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4608339] 04:28:03.620 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:28:03.621 [debug] QUERY OK source="sources" db=0.1ms idle=911.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:28:03.621 [debug] QUERY OK source="media_profiles" db=0.1ms idle=911.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:03.621 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4608339] 04:28:03.631 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4608339] 04:28:03.632 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:03.632 [debug] QUERY OK source="settings" db=0.1ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:03.632 [debug] QUERY OK source="settings" db=0.0ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:03.632 [debug] Running yt-dlp command for action: get_downloadable_status 04:28:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:03.633 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/ea/b8ea639f621d16a04f089596c50c9d393cff2a948920f79df79f37a9f0e07e61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:28:03.710 [debug] Current batch of media processed. Will check again in 1000ms 04:28:04.711 [debug] Current batch of media processed. Will check again in 1000ms 04:28:05.504 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7hSHMX6CXzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/ea/b8ea639f621d16a04f089596c50c9d393cff2a948920f79df79f37a9f0e07e61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:28:05.504 [error] yt-dlp download error for media item #4608339: "WARNING: [youtube] 7hSHMX6CXzc: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7hSHMX6CXzc: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:28:05.505 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4608339},"id":133421,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1884570,"event":"job:exception","queue_time":38371,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:28:05.712 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1250, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e042500 - Building My Dream Shop || It's Moving Day.mp4", "id" => "TqzLP6Y-XMw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TqzLP6Y-XMw", "playlist_index" => 9, "timestamp" => 1777118446, "title" => "Building My Dream Shop || It's Moving Day", "upload_date" => "20260425"} 04:28:05.713 [debug] QUERY OK source="sources" db=0.2ms idle=847.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:05.713 [debug] QUERY OK source="sources" db=0.1ms idle=208.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:05.714 [debug] QUERY OK source="media_items" db=0.6ms idle=201.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 12:00:46Z], 47] 04:28:05.715 [debug] QUERY OK source="media_items" db=0.9ms idle=96.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || It's Moving Day", "c6813c36-eb66-446b-af21-29aea3373921", false, 47, [], 1250, false, "TqzLP6Y-XMw", "https://www.youtube.com/watch?v=TqzLP6Y-XMw", 9, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e042500 - Building My Dream Shop || It's Moving Day.mp4", false, false, 98, ~U[2026-04-25 12:00:46Z], ~U[2026-08-05 02:28:05Z], ~U[2026-08-05 02:28:05Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || It's Moving Day", 47, 1250, false, "TqzLP6Y-XMw", "https://www.youtube.com/watch?v=TqzLP6Y-XMw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e042500 - Building My Dream Shop || It's Moving Day.mp4", false, ~U[2026-04-25 12:00:46Z]] 04:28:05.715 [debug] QUERY OK source="sources" db=0.1ms idle=91.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:05.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:05.716 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4889708] 04:28:05.716 [debug] Current batch of media processed. Will check again in 1000ms 04:28:06.717 [debug] Current batch of media processed. Will check again in 1000ms 04:28:07.627 [info] {"args":{"id":3471419},"id":133416,"meta":{},"system_time":1785896887627063080,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:28:07.627 [debug] QUERY OK source="media_items" db=0.1ms idle=761.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3471419] 04:28:07.627 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:28:07.627 [debug] QUERY OK source="sources" db=0.0ms idle=762.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:28:07.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=762.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:07.628 [debug] QUERY OK source="media_items" db=0.2ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3471419] 04:28:07.638 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3471419] 04:28:07.638 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:07.638 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:07.638 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:07.639 [debug] Running yt-dlp command for action: get_downloadable_status 04:28:07.639 [debug] QUERY OK source="settings" db=0.1ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:07.639 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:28:07.640 [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 [] 04:28:07.640 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/eb/1eeb223165ce5339ccf9ac430f89880c6307fb32ed3fd9accd53cb20a1ebff87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:28:07.718 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nKreg Cart: https://amzn.to/4mJlfFs\nKreg 64\" Rail Set: https://amzn.to/3OpTtkz\nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 2265, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e041800 - Building In Japan || Easy Woodshop Upgrade.mp4", "id" => "35M6ZuuNDfw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=35M6ZuuNDfw", "playlist_index" => 10, "timestamp" => 1776513606, "title" => "Building In Japan || Easy Woodshop Upgrade", "upload_date" => "20260418"} 04:28:07.719 [debug] QUERY OK source="sources" db=0.2ms idle=80.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:07.719 [debug] QUERY OK source="sources" db=0.1ms idle=80.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:07.720 [debug] QUERY OK source="media_items" db=1.0ms idle=79.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 12:00:06Z], 47] 04:28:07.722 [debug] QUERY OK source="media_items" db=1.0ms idle=81.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nKreg Cart: https://amzn.to/4mJlfFs\nKreg 64\" Rail Set: https://amzn.to/3OpTtkz\nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building In Japan || Easy Woodshop Upgrade", "6a194078-8aac-4e24-a969-6ab687040e58", false, 47, [], 2265, false, "35M6ZuuNDfw", "https://www.youtube.com/watch?v=35M6ZuuNDfw", 10, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e041800 - Building In Japan || Easy Woodshop Upgrade.mp4", false, false, 98, ~U[2026-04-18 12:00:06Z], ~U[2026-08-05 02:28:07Z], ~U[2026-08-05 02:28:07Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nKreg Cart: https://amzn.to/4mJlfFs\nKreg 64\" Rail Set: https://amzn.to/3OpTtkz\nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building In Japan || Easy Woodshop Upgrade", 47, 2265, false, "35M6ZuuNDfw", "https://www.youtube.com/watch?v=35M6ZuuNDfw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e041800 - Building In Japan || Easy Woodshop Upgrade.mp4", false, ~U[2026-04-18 12:00:06Z]] 04:28:07.722 [debug] QUERY OK source="sources" db=0.1ms idle=82.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:07.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:07.723 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4864849] 04:28:07.723 [debug] Current batch of media processed. Will check again in 1000ms 04:28:08.723 [debug] Current batch of media processed. Will check again in 1000ms 04:28:09.581 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zbliWNLyxAk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/eb/1eeb223165ce5339ccf9ac430f89880c6307fb32ed3fd9accd53cb20a1ebff87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:28:09.581 [error] yt-dlp download error for media item #3471419: "WARNING: [youtube] zbliWNLyxAk: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] zbliWNLyxAk: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:28:09.581 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3471419},"id":133416,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1954546,"event":"job:exception","queue_time":415379,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:28:09.724 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1541, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032800 - Trim Work || Finishing the Woodshop.mp4", "id" => "cwQZH59Trgw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cwQZH59Trgw", "playlist_index" => 11, "timestamp" => 1774699251, "title" => "Trim Work || Finishing the Woodshop", "upload_date" => "20260328"} 04:28:09.724 [debug] QUERY OK source="sources" db=0.2ms idle=859.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:09.725 [debug] QUERY OK source="sources" db=0.0ms idle=143.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:09.726 [debug] QUERY OK source="media_items" db=0.6ms idle=137.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 12:00:51Z], 47] 04:28:09.727 [debug] QUERY OK source="media_items" db=0.8ms idle=103.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Trim Work || Finishing the Woodshop", "fd8d98ae-a790-43b2-85b7-03a31bb989ff", false, 47, [], 1541, false, "cwQZH59Trgw", "https://www.youtube.com/watch?v=cwQZH59Trgw", 11, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032800 - Trim Work || Finishing the Woodshop.mp4", false, false, 98, ~U[2026-03-28 12:00:51Z], ~U[2026-08-05 02:28:09Z], ~U[2026-08-05 02:28:09Z], "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Trim Work || Finishing the Woodshop", 47, 1541, false, "cwQZH59Trgw", "https://www.youtube.com/watch?v=cwQZH59Trgw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032800 - Trim Work || Finishing the Woodshop.mp4", false, ~U[2026-03-28 12:00:51Z]] 04:28:09.727 [debug] QUERY OK source="sources" db=0.1ms idle=98.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:09.727 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:09.728 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4790923] 04:28:09.728 [debug] Current batch of media processed. Will check again in 1000ms 04:28:10.728 [debug] Current batch of media processed. Will check again in 1000ms 04:28:11.729 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1512, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032100 - Workshop Dreams Coming True - Major Progress.mp4", "id" => "RwGiNIG1nQw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RwGiNIG1nQw", "playlist_index" => 12, "timestamp" => 1774094445, "title" => "Workshop Dreams Coming True - Major Progress", "upload_date" => "20260321"} 04:28:11.730 [debug] QUERY OK source="sources" db=0.1ms idle=864.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:11.730 [debug] QUERY OK source="sources" db=0.1ms idle=864.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:11.731 [debug] QUERY OK source="media_items" db=0.9ms idle=865.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-21 12:00:45Z], 47] 04:28:11.742 [debug] QUERY OK source="media_items" db=10.0ms idle=105.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Workshop Dreams Coming True - Major Progress", "9e98aafb-c3f2-4571-9c7d-b518fcdcc289", false, 47, [], 1512, false, "RwGiNIG1nQw", "https://www.youtube.com/watch?v=RwGiNIG1nQw", 12, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032100 - Workshop Dreams Coming True - Major Progress.mp4", false, false, 98, ~U[2026-03-21 12:00:45Z], ~U[2026-08-05 02:28:11Z], ~U[2026-08-05 02:28:11Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Workshop Dreams Coming True - Major Progress", 47, 1512, false, "RwGiNIG1nQw", "https://www.youtube.com/watch?v=RwGiNIG1nQw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032100 - Workshop Dreams Coming True - Major Progress.mp4", false, ~U[2026-03-21 12:00:45Z]] 04:28:11.742 [debug] QUERY OK source="sources" db=0.1ms idle=110.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:11.742 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:11.742 [debug] QUERY OK source="media_items" db=0.2ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4766260] 04:28:11.743 [debug] Current batch of media processed. Will check again in 1000ms 04:28:12.743 [debug] Current batch of media processed. Will check again in 1000ms 04:28:13.744 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nBespoke Pallet: Only $10K \nhttps://www.bourbonmoth.com/shop/p/bespoke-pallet\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1571, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e031400 - $6,000 for a pallet? | I can't believe i had to make this.mp4", "id" => "EjE9_feUans", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EjE9_feUans", "playlist_index" => 13, "timestamp" => 1773489620, "title" => "$6,000 for a pallet? | I can't believe i had to make this", "upload_date" => "20260314"} 04:28:13.745 [debug] QUERY OK source="sources" db=0.2ms idle=879.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:13.745 [debug] QUERY OK source="sources" db=0.1ms idle=879.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:13.746 [debug] QUERY OK source="media_items" db=1.0ms idle=880.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-14 12:00:20Z], 47] 04:28:13.747 [debug] QUERY OK source="media_items" db=1.1ms idle=118.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nBespoke Pallet: Only $10K \nhttps://www.bourbonmoth.com/shop/p/bespoke-pallet\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "$6,000 for a pallet? | I can't believe i had to make this", "e99d3903-89b2-4d96-9e83-bbdead700244", false, 47, [], 1571, false, "EjE9_feUans", "https://www.youtube.com/watch?v=EjE9_feUans", 13, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e031400 - $6,000 for a pallet? | I can't believe i had to make this.mp4", false, false, 98, ~U[2026-03-14 12:00:20Z], ~U[2026-08-05 02:28:13Z], ~U[2026-08-05 02:28:13Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nBespoke Pallet: Only $10K \nhttps://www.bourbonmoth.com/shop/p/bespoke-pallet\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "$6,000 for a pallet? | I can't believe i had to make this", 47, 1571, false, "EjE9_feUans", "https://www.youtube.com/watch?v=EjE9_feUans", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e031400 - $6,000 for a pallet? | I can't believe i had to make this.mp4", false, ~U[2026-03-14 12:00:20Z]] 04:28:13.748 [debug] QUERY OK source="sources" db=0.1ms idle=114.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:13.748 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:13.748 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4742050] 04:28:13.748 [debug] Current batch of media processed. Will check again in 1000ms 04:28:14.749 [debug] Current batch of media processed. Will check again in 1000ms 04:28:15.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1319, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e022800 - I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon.mp4", "id" => "eDylitoYBF8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eDylitoYBF8", "playlist_index" => 14, "timestamp" => 1772283673, "title" => "I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon", "upload_date" => "20260228"} 04:28:15.750 [debug] QUERY OK source="sources" db=0.1ms idle=885.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:15.751 [debug] QUERY OK source="sources" db=0.0ms idle=885.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:15.751 [debug] QUERY OK source="media_items" db=0.6ms idle=885.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 13:01:13Z], 47] 04:28:15.753 [debug] QUERY OK source="media_items" db=0.8ms idle=121.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon", "34dc6ea4-57e5-42b8-8a3b-1e522a4b8bf1", false, 47, [], 1319, false, "eDylitoYBF8", "https://www.youtube.com/watch?v=eDylitoYBF8", 14, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e022800 - I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon.mp4", false, false, 98, ~U[2026-02-28 13:01:13Z], ~U[2026-08-05 02:28:15Z], ~U[2026-08-05 02:28:15Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon", 47, 1319, false, "eDylitoYBF8", "https://www.youtube.com/watch?v=eDylitoYBF8", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e022800 - I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon.mp4", false, ~U[2026-02-28 13:01:13Z]] 04:28:15.753 [debug] QUERY OK source="sources" db=0.1ms idle=116.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:15.753 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:15.753 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4694458] 04:28:15.754 [debug] Current batch of media processed. Will check again in 1000ms 04:28:16.754 [debug] Current batch of media processed. Will check again in 1000ms 04:28:17.144 [info] {"source":"oban","duration":2479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:17.755 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1994, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e021400 - Insane Wood Art || I Can't Believe We Did This in Two Days.mp4", "id" => "0aKSMUQhmKU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0aKSMUQhmKU", "playlist_index" => 15, "timestamp" => 1771074003, "title" => "Insane Wood Art || I Can't Believe We Did This in Two Days", "upload_date" => "20260214"} 04:28:17.756 [debug] QUERY OK source="sources" db=0.1ms idle=890.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:17.756 [debug] QUERY OK source="sources" db=0.0ms idle=890.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:17.757 [debug] QUERY OK source="media_items" db=0.6ms idle=611.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 13:00:03Z], 47] 04:28:17.758 [debug] QUERY OK source="media_items" db=0.7ms idle=123.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Insane Wood Art || I Can't Believe We Did This in Two Days", "08878ea6-36d3-412b-ab52-1e37771c55df", false, 47, [], 1994, false, "0aKSMUQhmKU", "https://www.youtube.com/watch?v=0aKSMUQhmKU", 15, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e021400 - Insane Wood Art || I Can't Believe We Did This in Two Days.mp4", false, false, 98, ~U[2026-02-14 13:00:03Z], ~U[2026-08-05 02:28:17Z], ~U[2026-08-05 02:28:17Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Insane Wood Art || I Can't Believe We Did This in Two Days", 47, 1994, false, "0aKSMUQhmKU", "https://www.youtube.com/watch?v=0aKSMUQhmKU", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e021400 - Insane Wood Art || I Can't Believe We Did This in Two Days.mp4", false, ~U[2026-02-14 13:00:03Z]] 04:28:17.758 [debug] QUERY OK source="sources" db=0.1ms idle=118.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:17.758 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:17.759 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4646965] 04:28:17.759 [debug] Current batch of media processed. Will check again in 1000ms 04:28:18.760 [debug] Current batch of media processed. Will check again in 1000ms 04:28:19.761 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://drinkag1.com/bourbonmoth or scan the QR code to get a FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe. Thanks to AG1 for sponsoring today’s video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1566, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e020700 - Huge Shop Upgrade|| From Basic Shop to Dream Workshop.mp4", "id" => "m3SA86kDPH4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m3SA86kDPH4", "playlist_index" => 16, "timestamp" => 1770469283, "title" => "Huge Shop Upgrade|| From Basic Shop to Dream Workshop", "upload_date" => "20260207"} 04:28:19.761 [debug] QUERY OK source="sources" db=0.1ms idle=896.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:19.762 [debug] QUERY OK source="sources" db=0.1ms idle=896.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:19.763 [debug] QUERY OK source="media_items" db=1.0ms idle=896.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 13:01:23Z], 47] 04:28:19.765 [debug] QUERY OK source="media_items" db=1.3ms idle=126.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://drinkag1.com/bourbonmoth or scan the QR code to get a FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe. Thanks to AG1 for sponsoring today’s video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Huge Shop Upgrade|| From Basic Shop to Dream Workshop", "55298ef4-6b21-402d-b9f7-eb5dd1cb77ec", false, 47, [], 1566, false, "m3SA86kDPH4", "https://www.youtube.com/watch?v=m3SA86kDPH4", 16, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e020700 - Huge Shop Upgrade|| From Basic Shop to Dream Workshop.mp4", false, false, 98, ~U[2026-02-07 13:01:23Z], ~U[2026-08-05 02:28:19Z], ~U[2026-08-05 02:28:19Z], "Head to https://drinkag1.com/bourbonmoth or scan the QR code to get a FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe. Thanks to AG1 for sponsoring today’s video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Huge Shop Upgrade|| From Basic Shop to Dream Workshop", 47, 1566, false, "m3SA86kDPH4", "https://www.youtube.com/watch?v=m3SA86kDPH4", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e020700 - Huge Shop Upgrade|| From Basic Shop to Dream Workshop.mp4", false, ~U[2026-02-07 13:01:23Z]] 04:28:19.765 [debug] QUERY OK source="sources" db=0.2ms idle=122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:19.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:19.766 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4623792] 04:28:19.766 [debug] Current batch of media processed. Will check again in 1000ms 04:28:20.766 [debug] Current batch of media processed. Will check again in 1000ms 04:28:21.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1626, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e013100 - Making a Custom Sign Without a CNC | DIY Wooden Sign.mp4", "id" => "7_8zDEmMOj0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7_8zDEmMOj0", "playlist_index" => 17, "timestamp" => 1769864411, "title" => "Making a Custom Sign Without a CNC | DIY Wooden Sign", "upload_date" => "20260131"} 04:28:21.768 [debug] QUERY OK source="sources" db=0.2ms idle=902.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:21.768 [debug] QUERY OK source="sources" db=0.1ms idle=902.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:21.769 [debug] QUERY OK source="media_items" db=1.1ms idle=903.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 13:00:11Z], 47] 04:28:21.771 [debug] QUERY OK source="media_items" db=0.8ms idle=129.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Making a Custom Sign Without a CNC | DIY Wooden Sign", "9ade728b-3a07-42f6-b061-338c9d1d3d68", false, 47, [], 1626, false, "7_8zDEmMOj0", "https://www.youtube.com/watch?v=7_8zDEmMOj0", 17, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e013100 - Making a Custom Sign Without a CNC | DIY Wooden Sign.mp4", false, false, 98, ~U[2026-01-31 13:00:11Z], ~U[2026-08-05 02:28:21Z], ~U[2026-08-05 02:28:21Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Making a Custom Sign Without a CNC | DIY Wooden Sign", 47, 1626, false, "7_8zDEmMOj0", "https://www.youtube.com/watch?v=7_8zDEmMOj0", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e013100 - Making a Custom Sign Without a CNC | DIY Wooden Sign.mp4", false, ~U[2026-01-31 13:00:11Z]] 04:28:21.771 [debug] QUERY OK source="sources" db=0.1ms idle=125.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:21.771 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:21.772 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4600676] 04:28:21.772 [debug] Current batch of media processed. Will check again in 1000ms 04:28:22.772 [debug] Current batch of media processed. Will check again in 1000ms 04:28:23.773 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 1245, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e012400 - Building My Dream Shop || I Have So Much to Do.mp4", "id" => "ByAxfUEaq-o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ByAxfUEaq-o", "playlist_index" => 18, "timestamp" => 1769259630, "title" => "Building My Dream Shop || I Have So Much to Do", "upload_date" => "20260124"} 04:28:23.774 [debug] QUERY OK source="sources" db=0.1ms idle=908.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:23.774 [debug] QUERY OK source="sources" db=0.1ms idle=908.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:23.775 [debug] QUERY OK source="media_items" db=0.8ms idle=909.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 13:00:30Z], 47] 04:28:23.776 [debug] QUERY OK source="media_items" db=0.8ms idle=132.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || I Have So Much to Do", "71d63a10-7734-49bb-a992-640d87daed5b", false, 47, [], 1245, false, "ByAxfUEaq-o", "https://www.youtube.com/watch?v=ByAxfUEaq-o", 18, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e012400 - Building My Dream Shop || I Have So Much to Do.mp4", false, false, 98, ~U[2026-01-24 13:00:30Z], ~U[2026-08-05 02:28:23Z], ~U[2026-08-05 02:28:23Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || I Have So Much to Do", 47, 1245, false, "ByAxfUEaq-o", "https://www.youtube.com/watch?v=ByAxfUEaq-o", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e012400 - Building My Dream Shop || I Have So Much to Do.mp4", false, ~U[2026-01-24 13:00:30Z]] 04:28:23.777 [debug] QUERY OK source="sources" db=0.1ms idle=127.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:23.777 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:23.778 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4577690] 04:28:23.778 [debug] Current batch of media processed. Will check again in 1000ms 04:28:24.778 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 30% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper Origin: http://www.shapertools.com/bourbonmoth\nGrit Grip Sandpaper: www.grit-grip.com\nMaker Medallions: www.medallionmakerbranding.com \nBench Vice: https://amzn.to/49tHYPj \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "duration" => 2529, "filename" => "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e011000 - Shotgun Upgrade || Transforming My Ugly Shotgun.mp4", "id" => "jU5Bm1prI-A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jU5Bm1prI-A", "playlist_index" => 19, "timestamp" => 1768050094, "title" => "Shotgun Upgrade || Transforming My Ugly Shotgun", "upload_date" => "20260110"} 04:28:24.778 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:24.779 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:24.780 [debug] QUERY OK source="media_items" db=1.0ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-10 13:01:34Z], 47] 04:28:24.782 [debug] QUERY OK source="media_items" db=1.2ms idle=136.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 30% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper Origin: http://www.shapertools.com/bourbonmoth\nGrit Grip Sandpaper: www.grit-grip.com\nMaker Medallions: www.medallionmakerbranding.com \nBench Vice: https://amzn.to/49tHYPj \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Shotgun Upgrade || Transforming My Ugly Shotgun", "a19c0fbb-0378-4048-ac02-6327cb3ea6ff", false, 47, [], 2529, false, "jU5Bm1prI-A", "https://www.youtube.com/watch?v=jU5Bm1prI-A", 19, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e011000 - Shotgun Upgrade || Transforming My Ugly Shotgun.mp4", false, false, 98, ~U[2026-01-10 13:01:34Z], ~U[2026-08-05 02:28:24Z], ~U[2026-08-05 02:28:24Z], "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 30% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper Origin: http://www.shapertools.com/bourbonmoth\nGrit Grip Sandpaper: www.grit-grip.com\nMaker Medallions: www.medallionmakerbranding.com \nBench Vice: https://amzn.to/49tHYPj \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Shotgun Upgrade || Transforming My Ugly Shotgun", 47, 2529, false, "jU5Bm1prI-A", "https://www.youtube.com/watch?v=jU5Bm1prI-A", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e011000 - Shotgun Upgrade || Transforming My Ugly Shotgun.mp4", false, ~U[2026-01-10 13:01:34Z]] 04:28:24.782 [debug] QUERY OK source="sources" db=0.1ms idle=132.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:24.782 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:28:24.783 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4531840] 04:28:24.783 [debug] Current batch of media processed. Will check again in 1000ms 04:28:25.784 [debug] Current batch of media processed. Will check again in 1000ms 04:28:26.785 [debug] Current batch of media processed. Will check again in 1000ms 04:28:27.130 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@bourbonmoth?si=GJaI9Zy9VryO4Nae --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Bourbon Moth Woodworking/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b3/82/b3820dda11ad909a64ffc0a7f6460282616a4373cb7a3c6f595ad1e03e181abd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b1/39/b139e34df1699104e272eb5e00e4e74f7abca852123665068367af00cfec2e3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:28:27.131 [debug] Gracefully stopping file follower 04:28:27.131 [debug] QUERY OK source="sources" db=0.2ms idle=1265.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [47] 04:28:27.131 [debug] QUERY OK source="sources" db=0.1ms idle=1266.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.132 [debug] QUERY OK source="media_items" db=0.7ms idle=1266.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 12:00:13Z], 47] 04:28:27.134 [debug] QUERY OK source="media_items" db=1.1ms idle=485.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 20% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nCushion Source: https://tinyurl.com/32aj34kk\nHeavy Duty Drawer Slides: https://amzn.to/4wpQtW4\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Cabinet Building for Beginners", "e7298cca-e122-4428-9898-5a4f351308a1", false, 47, [], 2018, false, "1cuXrs0-l5w", "https://www.youtube.com/watch?v=1cuXrs0-l5w", 1, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e072500 - Cabinet Building for Beginners.mp4", false, false, 98, ~U[2026-07-25 12:00:13Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 20% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nCushion Source: https://tinyurl.com/32aj34kk\nHeavy Duty Drawer Slides: https://amzn.to/4wpQtW4\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Cabinet Building for Beginners", 47, 2018, false, "1cuXrs0-l5w", "https://www.youtube.com/watch?v=1cuXrs0-l5w", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e072500 - Cabinet Building for Beginners.mp4", false, ~U[2026-07-25 12:00:13Z]] 04:28:27.134 [debug] QUERY OK source="sources" db=0.2ms idle=480.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.135 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-18 12:00:06Z], 47] 04:28:27.137 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nSeahawks YouTube: https://youtube.com/@Seahawks?si=3LL0Q-YtbNSw9WY5\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\nWall Paneling: https://www.thewoodveneerhub.com/?im_ref=2ZtwYTURtxyZUupWK-xGfxuUUkuXwgTF2VZd0Q0&sharedid=bing&irpid=2003851&irgwc=1&afsrc=1\nEvolve Stone: https://amzn.to/4vESlJl\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "We Built The Ultimate NFL Video Studio From Scratch", "4c15e481-6f68-46da-b96a-16cf8c2c8083", false, 47, [], 1770, false, "rJtjVUeAcQk", "https://www.youtube.com/watch?v=rJtjVUeAcQk", 2, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071800 - We Built The Ultimate NFL Video Studio From Scratch.mp4", false, false, 98, ~U[2026-07-18 12:00:06Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nSeahawks YouTube: https://youtube.com/@Seahawks?si=3LL0Q-YtbNSw9WY5\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\nWall Paneling: https://www.thewoodveneerhub.com/?im_ref=2ZtwYTURtxyZUupWK-xGfxuUUkuXwgTF2VZd0Q0&sharedid=bing&irpid=2003851&irgwc=1&afsrc=1\nEvolve Stone: https://amzn.to/4vESlJl\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "We Built The Ultimate NFL Video Studio From Scratch", 47, 1770, false, "rJtjVUeAcQk", "https://www.youtube.com/watch?v=rJtjVUeAcQk", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071800 - We Built The Ultimate NFL Video Studio From Scratch.mp4", false, ~U[2026-07-18 12:00:06Z]] 04:28:27.137 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.138 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-11 12:00:11Z], 47] 04:28:27.139 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I'm In WAY Over My Head || Giving The Seahawks a Level Up", "b3d5c217-ab1f-43f9-8261-bf91045048a2", false, 47, [], 1735, false, "lJ5IiQ1Ex0Y", "https://www.youtube.com/watch?v=lJ5IiQ1Ex0Y", 3, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071100 - I'm In WAY Over My Head || Giving The Seahawks a Level Up.mp4", false, false, 98, ~U[2026-07-11 12:00:11Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I'm In WAY Over My Head || Giving The Seahawks a Level Up", 47, 1735, false, "lJ5IiQ1Ex0Y", "https://www.youtube.com/watch?v=lJ5IiQ1Ex0Y", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e071100 - I'm In WAY Over My Head || Giving The Seahawks a Level Up.mp4", false, ~U[2026-07-11 12:00:11Z]] 04:28:27.139 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.140 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 11:57:51Z], 47] 04:28:27.142 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Easy One Day Build || Custom White Oak Bar Tables", "54f90994-6cd0-4231-9b29-75605b63a77d", false, 47, [], 1883, false, "WJjVL4vcN1c", "https://www.youtube.com/watch?v=WJjVL4vcN1c", 4, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e062700 - Easy One Day Build || Custom White Oak Bar Tables.mp4", false, false, 98, ~U[2026-06-27 11:57:51Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Easy One Day Build || Custom White Oak Bar Tables", 47, 1883, false, "WJjVL4vcN1c", "https://www.youtube.com/watch?v=WJjVL4vcN1c", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e062700 - Easy One Day Build || Custom White Oak Bar Tables.mp4", false, ~U[2026-06-27 11:57:51Z]] 04:28:27.142 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.143 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 12:00:16Z], 47] 04:28:27.145 [debug] QUERY OK source="media_items" db=2.4ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Giant Oak Benches || Did i make a huge Mistake?", "4fb5c276-59b3-46ff-890c-71968caa20f4", false, 47, [], 2678, false, "4QjTh_6uGDM", "https://www.youtube.com/watch?v=4QjTh_6uGDM", 5, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e060600 - Giant Oak Benches || Did i make a huge Mistake?.mp4", false, false, 98, ~U[2026-06-06 12:00:16Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nBistro tables: https://www.georgeandwilly.com/collections/cafe-furniture/products/wall-mounted-table\nWood filler glue gun: https://totalfinishingsupplies.com/collections/total-finishing-knot-filler-wood-repair?gad_source=1&gad_campaignid=22559905845&gbraid=0AAAAACVsdQWnVk2QBKDnnVq58v64QLCbp&gclid=Cj0KCQjwio_RBhDMARIsAJPveNMNfpI-W0nhLrvr-bb2P-62bn1qlsMJjafL3SVjaC94R3cwt887kS0aAv7vEALw_wcB\nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nJessEm Tools: https://jessem.com/\nTitebond Wood Glue: https://www.titebond.com/\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Giant Oak Benches || Did i make a huge Mistake?", 47, 2678, false, "4QjTh_6uGDM", "https://www.youtube.com/watch?v=4QjTh_6uGDM", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e060600 - Giant Oak Benches || Did i make a huge Mistake?.mp4", false, ~U[2026-06-06 12:00:16Z]] 04:28:27.146 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.146 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 12:00:12Z], 47] 04:28:27.147 [debug] QUERY OK source="media_items" db=0.7ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "This is not real furniture || Re-thinking Cabinet design", "440a24f4-fae9-4f87-a64d-2499aacbd7b0", false, 47, [], 2466, false, "C_6lpY3b-UI", "https://www.youtube.com/watch?v=C_6lpY3b-UI", 6, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e052300 - This is not real furniture || Re-thinking Cabinet design.mp4", false, false, 98, ~U[2026-05-23 12:00:12Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nLED lights: https://orbisify.com\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "This is not real furniture || Re-thinking Cabinet design", 47, 2466, false, "C_6lpY3b-UI", "https://www.youtube.com/watch?v=C_6lpY3b-UI", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e052300 - This is not real furniture || Re-thinking Cabinet design.mp4", false, ~U[2026-05-23 12:00:12Z]] 04:28:27.148 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [47] 04:28:27.148 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 12:01:11Z], 47] 04:28:27.150 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!", "8130c8f6-b445-4aab-bb67-57221f79879a", false, 47, [], 1499, false, "dWtJXcS7HcM", "https://www.youtube.com/watch?v=dWtJXcS7HcM", 7, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050900 - I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!.mp4", false, false, 98, ~U[2026-05-09 12:01:11Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nRubio Monocoat: https://www.rubiomonocoatusa.com\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\nOneida Dust Collector: https://bit.ly/4tI9ySr\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!", 47, 1499, false, "dWtJXcS7HcM", "https://www.youtube.com/watch?v=dWtJXcS7HcM", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050900 - I Got Hired By The Seahawks || This Build Is Going To Be Nuts!!.mp4", false, ~U[2026-05-09 12:01:11Z]] 04:28:27.150 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.151 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 12:00:04Z], 47] 04:28:27.152 [debug] QUERY OK source="media_items" db=1.0ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tI9ySr\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Installing Dust collection || Major Woodshop Upgrade", "a390aa76-b7ee-4921-8841-32365dd09780", false, 47, [], 1957, false, "1dmQw2wisvA", "https://www.youtube.com/watch?v=1dmQw2wisvA", 8, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050200 - Installing Dust collection || Major Woodshop Upgrade.mp4", false, false, 98, ~U[2026-05-02 12:00:04Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tI9ySr\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Installing Dust collection || Major Woodshop Upgrade", 47, 1957, false, "1dmQw2wisvA", "https://www.youtube.com/watch?v=1dmQw2wisvA", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e050200 - Installing Dust collection || Major Woodshop Upgrade.mp4", false, ~U[2026-05-02 12:00:04Z]] 04:28:27.152 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.153 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 12:00:46Z], 47] 04:28:27.155 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || It's Moving Day", "3b9eca10-49d8-4c87-a299-3d42eb65f2c8", false, 47, [], 1250, false, "TqzLP6Y-XMw", "https://www.youtube.com/watch?v=TqzLP6Y-XMw", 9, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e042500 - Building My Dream Shop || It's Moving Day.mp4", false, false, 98, ~U[2026-04-25 12:00:46Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nPocket Hole Machine: https://amzn.to/4eCYhh2\nBelt/Disc Sander: https://amzn.to/4cKNMWt\nPowermatic Lathe: https://amzn.to/4sVmxP6\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || It's Moving Day", 47, 1250, false, "TqzLP6Y-XMw", "https://www.youtube.com/watch?v=TqzLP6Y-XMw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e042500 - Building My Dream Shop || It's Moving Day.mp4", false, ~U[2026-04-25 12:00:46Z]] 04:28:27.155 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.156 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 12:00:06Z], 47] 04:28:27.157 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nKreg Cart: https://amzn.to/4mJlfFs\nKreg 64\" Rail Set: https://amzn.to/3OpTtkz\nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building In Japan || Easy Woodshop Upgrade", "38b7388e-7e50-40db-8ef7-4e247de6b78b", false, 47, [], 2265, false, "35M6ZuuNDfw", "https://www.youtube.com/watch?v=35M6ZuuNDfw", 10, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e041800 - Building In Japan || Easy Woodshop Upgrade.mp4", false, false, 98, ~U[2026-04-18 12:00:06Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nKreg Cart: https://amzn.to/4mJlfFs\nKreg 64\" Rail Set: https://amzn.to/3OpTtkz\nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building In Japan || Easy Woodshop Upgrade", 47, 2265, false, "35M6ZuuNDfw", "https://www.youtube.com/watch?v=35M6ZuuNDfw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e041800 - Building In Japan || Easy Woodshop Upgrade.mp4", false, ~U[2026-04-18 12:00:06Z]] 04:28:27.158 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.159 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 12:00:51Z], 47] 04:28:27.160 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Trim Work || Finishing the Woodshop", "3b10c0f5-f977-44e7-97a3-e836ee53c99a", false, 47, [], 1541, false, "cwQZH59Trgw", "https://www.youtube.com/watch?v=cwQZH59Trgw", 11, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032800 - Trim Work || Finishing the Woodshop.mp4", false, false, 98, ~U[2026-03-28 12:00:51Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Get free life insurance quotes from America's top insurers and start saving today with Policygenius: http://policygenius.com/bourbonmoth Thanks to Policygenius for sponsoring this video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOneida Dust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Trim Work || Finishing the Woodshop", 47, 1541, false, "cwQZH59Trgw", "https://www.youtube.com/watch?v=cwQZH59Trgw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032800 - Trim Work || Finishing the Woodshop.mp4", false, ~U[2026-03-28 12:00:51Z]] 04:28:27.160 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.161 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 12:00:45Z], 47] 04:28:27.163 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Workshop Dreams Coming True - Major Progress", "bafc09fb-9609-454b-8223-6cde71adf98d", false, 47, [], 1512, false, "RwGiNIG1nQw", "https://www.youtube.com/watch?v=RwGiNIG1nQw", 12, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032100 - Workshop Dreams Coming True - Major Progress.mp4", false, false, 98, ~U[2026-03-21 12:00:45Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Workshop Dreams Coming True - Major Progress", 47, 1512, false, "RwGiNIG1nQw", "https://www.youtube.com/watch?v=RwGiNIG1nQw", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e032100 - Workshop Dreams Coming True - Major Progress.mp4", false, ~U[2026-03-21 12:00:45Z]] 04:28:27.163 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.164 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 12:00:20Z], 47] 04:28:27.165 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nBespoke Pallet: Only $10K \nhttps://www.bourbonmoth.com/shop/p/bespoke-pallet\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "$6,000 for a pallet? | I can't believe i had to make this", "2f19c77c-2428-4e64-a06e-8d3693c9397e", false, 47, [], 1571, false, "EjE9_feUans", "https://www.youtube.com/watch?v=EjE9_feUans", 13, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e031400 - $6,000 for a pallet? | I can't believe i had to make this.mp4", false, false, 98, ~U[2026-03-14 12:00:20Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nBespoke Pallet: Only $10K \nhttps://www.bourbonmoth.com/shop/p/bespoke-pallet\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "$6,000 for a pallet? | I can't believe i had to make this", 47, 1571, false, "EjE9_feUans", "https://www.youtube.com/watch?v=EjE9_feUans", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e031400 - $6,000 for a pallet? | I can't believe i had to make this.mp4", false, ~U[2026-03-14 12:00:20Z]] 04:28:27.165 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.166 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 13:01:13Z], 47] 04:28:27.182 [debug] QUERY OK source="media_items" db=15.2ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon", "4621902f-56ad-46eb-9e67-3a8515d4b203", false, 47, [], 1319, false, "eDylitoYBF8", "https://www.youtube.com/watch?v=eDylitoYBF8", 14, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e022800 - I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon.mp4", false, false, 98, ~U[2026-02-28 13:01:13Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nOn The Rocks Rubio Color: https://surl.li/flpcaj\nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon", 47, 1319, false, "eDylitoYBF8", "https://www.youtube.com/watch?v=eDylitoYBF8", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e022800 - I Promise You Can Do This || Master Wood Floor Finishing in One Afternoon.mp4", false, ~U[2026-02-28 13:01:13Z]] 04:28:27.183 [debug] QUERY OK source="sources" db=0.2ms idle=18.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.184 [debug] QUERY OK source="media_items" db=0.7ms idle=17.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 13:00:03Z], 47] 04:28:27.191 [debug] QUERY OK source="media_items" db=7.0ms idle=18.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Insane Wood Art || I Can't Believe We Did This in Two Days", "ecf20630-859b-4bcc-8648-87977273f0ce", false, 47, [], 1994, false, "0aKSMUQhmKU", "https://www.youtube.com/watch?v=0aKSMUQhmKU", 15, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e021400 - Insane Wood Art || I Can't Believe We Did This in Two Days.mp4", false, false, 98, ~U[2026-02-14 13:00:03Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper: http://www.shapertools.com/bourbonmoth\nHyde Mallet: https://amzn.to/4rPeMtG\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Insane Wood Art || I Can't Believe We Did This in Two Days", 47, 1994, false, "0aKSMUQhmKU", "https://www.youtube.com/watch?v=0aKSMUQhmKU", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e021400 - Insane Wood Art || I Can't Believe We Did This in Two Days.mp4", false, ~U[2026-02-14 13:00:03Z]] 04:28:27.192 [debug] QUERY OK source="sources" db=0.3ms idle=24.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.193 [debug] QUERY OK source="media_items" db=0.8ms idle=9.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 13:01:23Z], 47] 04:28:27.194 [debug] QUERY OK source="media_items" db=0.8ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://drinkag1.com/bourbonmoth or scan the QR code to get a FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe. Thanks to AG1 for sponsoring today’s video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Huge Shop Upgrade|| From Basic Shop to Dream Workshop", "59b545d2-ecf1-4229-9955-433c765a79c7", false, 47, [], 1566, false, "m3SA86kDPH4", "https://www.youtube.com/watch?v=m3SA86kDPH4", 16, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e020700 - Huge Shop Upgrade|| From Basic Shop to Dream Workshop.mp4", false, false, 98, ~U[2026-02-07 13:01:23Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://drinkag1.com/bourbonmoth or scan the QR code to get a FREE AG1 & AGZ Travel Packs, Vitamin D3+K2, and AG1 Welcome Kit when you first subscribe. Thanks to AG1 for sponsoring today’s video!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Huge Shop Upgrade|| From Basic Shop to Dream Workshop", 47, 1566, false, "m3SA86kDPH4", "https://www.youtube.com/watch?v=m3SA86kDPH4", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e020700 - Huge Shop Upgrade|| From Basic Shop to Dream Workshop.mp4", false, ~U[2026-02-07 13:01:23Z]] 04:28:27.194 [debug] QUERY OK source="sources" db=0.1ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.195 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-31 13:00:11Z], 47] 04:28:27.197 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Making a Custom Sign Without a CNC | DIY Wooden Sign", "3032d12f-aebc-452f-8bcf-736e46440ae4", false, 47, [], 1626, false, "7_8zDEmMOj0", "https://www.youtube.com/watch?v=7_8zDEmMOj0", 17, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e013100 - Making a Custom Sign Without a CNC | DIY Wooden Sign.mp4", false, false, 98, ~U[2026-01-31 13:00:11Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\ngouge Chisel: https://amzn.to/4c1A9mQ\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Making a Custom Sign Without a CNC | DIY Wooden Sign", 47, 1626, false, "7_8zDEmMOj0", "https://www.youtube.com/watch?v=7_8zDEmMOj0", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e013100 - Making a Custom Sign Without a CNC | DIY Wooden Sign.mp4", false, ~U[2026-01-31 13:00:11Z]] 04:28:27.197 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.198 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-24 13:00:30Z], 47] 04:28:27.199 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || I Have So Much to Do", "b56fb062-44df-4152-b873-9a69b3dd5423", false, 47, [], 1245, false, "ByAxfUEaq-o", "https://www.youtube.com/watch?v=ByAxfUEaq-o", 18, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e012400 - Building My Dream Shop || I Have So Much to Do.mp4", false, false, 98, ~U[2026-01-24 13:00:30Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Building My Dream Shop || I Have So Much to Do", 47, 1245, false, "ByAxfUEaq-o", "https://www.youtube.com/watch?v=ByAxfUEaq-o", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e012400 - Building My Dream Shop || I Have So Much to Do.mp4", false, ~U[2026-01-24 13:00:30Z]] 04:28:27.200 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.201 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-10 13:01:34Z], 47] 04:28:27.202 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 30% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper Origin: http://www.shapertools.com/bourbonmoth\nGrit Grip Sandpaper: www.grit-grip.com\nMaker Medallions: www.medallionmakerbranding.com \nBench Vice: https://amzn.to/49tHYPj \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Shotgun Upgrade || Transforming My Ugly Shotgun", "b3060c03-309c-4daa-9cfd-e768d82300e9", false, 47, [], 2529, false, "jU5Bm1prI-A", "https://www.youtube.com/watch?v=jU5Bm1prI-A", 19, "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e011000 - Shotgun Upgrade || Transforming My Ugly Shotgun.mp4", false, false, 98, ~U[2026-01-10 13:01:34Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Go to https://trycreate.co/BOURBONMOTH and use code BOURBONMOTH to get 30% off your Create order and free shipping when you subscribe!\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nShaper Origin: http://www.shapertools.com/bourbonmoth\nGrit Grip Sandpaper: www.grit-grip.com\nMaker Medallions: www.medallionmakerbranding.com \nBench Vice: https://amzn.to/49tHYPj \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Shotgun Upgrade || Transforming My Ugly Shotgun", 47, 2529, false, "jU5Bm1prI-A", "https://www.youtube.com/watch?v=jU5Bm1prI-A", "/downloads/Bourbon Moth Woodworking/Season 2026/s2026e011000 - Shotgun Upgrade || Transforming My Ugly Shotgun.mp4", false, ~U[2026-01-10 13:01:34Z]] 04:28:27.202 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 04:28:27.203 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-27 13:00:34Z], 47] 04:28:27.204 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Planning Your Shop Layout || The Secret to Setting Up Your Shop", "65c99654-1154-4a72-a0ca-9300498ab1f4", false, 47, [], 2276, false, "D-rHaVWevek", "https://www.youtube.com/watch?v=D-rHaVWevek", 20, "/downloads/Bourbon Moth Woodworking/Season 2025/s2025e122700 - Planning Your Shop Layout || The Secret to Setting Up Your Shop.mp4", false, false, 98, ~U[2025-12-27 13:00:34Z], ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], "Head to https://www.squarespace.com/bourbonmothwoodworking to save 10% off your first purchase of a website or domain using code BOURBONMOTHWOODWORKING.\n\nPatreon Page: https://www.patreon.com/bourbonmothwoodworking \n\nUNIVERSAL TABLE SAW JIG!!\nhttps://www.bourbonmoth.com/shop/p/universal-table-saw-jig\n\nGET YOUR BOURBON BLADE HERE!!\nhttps://www.bourbonmoth.com/shop/bourbon-blade\n\nInstagram: https://www.instagram.com/bourbonmoth/\n\nLinks below to tools and supplies: \nDust Collector: https://bit.ly/4tgCqRA\nAmerican Green Lights: http://www.americangreenlights.com/\nWood Filler: https://amzn.to/30WuV5G \nConstruction Stapler: https://amzn.to/43biV1H\n16ga Finish Nailer: https://amzn.to/4mtgNde\nFraming Nailer: https://amzn.to/3SlGTRE\nAir Compressor: https://amzn.to/4dxc7PA\nSquare: https://amzn.to/2tiTPQr \nTape Measure: https://amzn.to/3b2rnDq \nSafety Glasses: https://amzn.to/2RMLoGv \nDrill & Driver: https://amzn.to/3Gver7y\nFestool Rotex: https://amzn.to/2RPe161 \nChop Saw: https://amzn.to/3Ld2w1E\nFlip Stops: https://amzn.to/3rBNjj6 \nTable Saw Blade: https://amzn.to/2RJUCmI\n#isotunes Bluetooth Hearing Protection (10% Off, Code: BOURBONMOTH10) https://bit.ly/BourbonMoth10\nBits & Bits Precision Cutting Tools (10% off code- BOURBONBITS)\nhttps://bitsbits.com/ref/6220/\nRubio Monocoat: https://www.rubiomonocoatusa.com\nTotal Boat Epoxy: http://www.totalboat.com/bourbonmothwoodworking\nFormica Products: (10% off with code BOURBONMOTH) https://www.formica.com\nRZ Mask (15% off code: BOURBONMOTH15)\nhttp://www.awin1.com/cread.php?awinmid=24281&awinaffid=1051405", "Planning Your Shop Layout || The Secret to Setting Up Your Shop", 47, 2276, false, "D-rHaVWevek", "https://www.youtube.com/watch?v=D-rHaVWevek", "/downloads/Bourbon Moth Woodworking/Season 2025/s2025e122700 - Planning Your Shop Layout || The Secret to Setting Up Your Shop.mp4", false, ~U[2025-12-27 13:00:34Z]] 04:28:27.204 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z], 47] 04:28:27.205 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [47] 04:28:27.206 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [47] 04:28:27.206 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [47] 04:28:27.207 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133840, 47, ~U[2026-08-05 02:28:27Z], ~U[2026-08-05 02:28:27Z]] 04:28:27.208 [info] {"args":{"id":47},"id":133332,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":44614645,"event":"job:stop","queue_time":836372,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:28:47.147 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.446 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:04.694 [info] {"args":{"id":4054936},"id":133419,"meta":{},"system_time":1785896944694209963,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:29:04.694 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4054936] 04:29:04.694 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:29:04.695 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:29:04.695 [debug] QUERY OK source="media_profiles" db=0.1ms idle=829.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:04.695 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4054936] 04:29:04.696 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4054936] 04:29:04.696 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:04.696 [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 [] 04:29:04.696 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:04.697 [debug] Running yt-dlp command for action: get_downloadable_status 04:29:04.697 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:04.697 [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 [] 04:29:04.697 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:04.698 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/cc/88cc04ba898cf4eeb8485190c04e927449ce5cd0429f50ef84d779450d45c45f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:29:06.797 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z3gkpTeekyI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/cc/88cc04ba898cf4eeb8485190c04e927449ce5cd0429f50ef84d779450d45c45f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:29:06.797 [error] yt-dlp download error for media item #4054936: "WARNING: [youtube] z3gkpTeekyI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] z3gkpTeekyI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:29:06.798 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4054936},"id":133419,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2103619,"event":"job:exception","queue_time":157312,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:29:17.150 [info] {"source":"oban","duration":2709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:29.725 [info] {"args":{"id":3822586},"id":133418,"meta":{},"system_time":1785896969725019653,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:29:29.725 [debug] QUERY OK source="media_items" db=0.1ms idle=1007.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3822586] 04:29:29.725 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:29:29.725 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:29:29.726 [debug] QUERY OK source="media_profiles" db=0.1ms idle=860.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:29.726 [debug] QUERY OK source="media_items" db=0.2ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3822586] 04:29:29.727 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3822586] 04:29:29.727 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:29.727 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:29.727 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:29.727 [debug] Running yt-dlp command for action: get_downloadable_status 04:29:29.728 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:29.728 [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 [] 04:29:29.728 [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 [] 04:29:29.728 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/59/a359b1fc9328b7e7100953ccab4dd2b29e39078f2b7a97232873606ee7975228.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:29:31.585 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rploze3OJ5Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/59/a359b1fc9328b7e7100953ccab4dd2b29e39078f2b7a97232873606ee7975228.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:29:31.585 [error] yt-dlp download error for media item #3822586: "WARNING: [youtube] Rploze3OJ5Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Rploze3OJ5Q: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:29:31.586 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3822586},"id":133418,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1860709,"event":"job:exception","queue_time":282942,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:29:47.153 [info] {"source":"oban","duration":2667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:49.745 [info] {"args":{"id":2889465},"id":133412,"meta":{},"system_time":1785896989744923415,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:29:49.745 [debug] QUERY OK source="media_items" db=0.2ms idle=879.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2889465] 04:29:49.745 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:29:49.745 [debug] QUERY OK source="sources" db=0.1ms idle=880.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 04:29:49.746 [debug] QUERY OK source="media_profiles" db=0.1ms idle=880.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:49.746 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2889465] 04:29:49.756 [debug] QUERY OK source="media_metadata" db=0.0ms idle=11.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [2889465] 04:29:49.756 [debug] QUERY OK source="media_profiles" db=0.0ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:29:49.756 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:49.756 [debug] QUERY OK source="settings" db=0.0ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:49.756 [debug] Running yt-dlp command for action: get_downloadable_status 04:29:49.757 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:49.757 [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 [] 04:29:49.757 [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 [] 04:29:49.757 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/55/b255566e9398554e27f6bed4fd4006afd57abd49e0ecfe42e40c508d87ab3a6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:29:51.875 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Tz_wyBzS_SI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/55/b255566e9398554e27f6bed4fd4006afd57abd49e0ecfe42e40c508d87ab3a6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:29:51.875 [error] yt-dlp download error for media item #2889465: "WARNING: [youtube] Tz_wyBzS_SI: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] Tz_wyBzS_SI: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:29:51.875 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2889465},"id":133412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2130465,"event":"job:exception","queue_time":392422,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:30:00.447 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:17.156 [info] {"source":"oban","duration":2658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:29.786 [info] {"args":{"id":3773721},"id":133417,"meta":{},"system_time":1785897029786497099,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:30:29.787 [debug] QUERY OK source="media_items" db=0.2ms idle=1007.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3773721] 04:30:29.787 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:30:29.787 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [40] 04:30:29.787 [debug] QUERY OK source="media_profiles" db=0.1ms idle=922.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:30:29.788 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3773721] 04:30:29.788 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3773721] 04:30:29.789 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:30:29.789 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:29.789 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:29.789 [debug] Running yt-dlp command for action: get_downloadable_status 04:30:29.790 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:29.790 [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 [] 04:30:29.790 [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 [] 04:30:29.790 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/da/e5dac460e38b3d476edf44cb8afa50566793f9957f625947d94509e518def0e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:30:31.955 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WNtGKhEo6R0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/da/e5dac460e38b3d476edf44cb8afa50566793f9957f625947d94509e518def0e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video. 04:30:31.955 [error] yt-dlp download error for media item #3773721: "WARNING: [youtube] WNtGKhEo6R0: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] WNtGKhEo6R0: Join this channel from your computer or mobile app to get access to members-only content like this video.\n" 04:30:31.955 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3773721},"id":133417,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2168919,"event":"job:exception","queue_time":328978,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:30:47.158 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.448 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:17.162 [info] {"source":"oban","duration":2814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:47.165 [info] {"source":"oban","duration":2836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.449 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:17.167 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:47.169 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.450 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:17.171 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:47.175 [info] {"source":"oban","duration":2690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.451 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:17.177 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:47.179 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.452 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:17.181 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:47.183 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.453 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:17.185 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:47.186 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.454 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:17.188 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:47.191 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:51.287 [info] {"args":{"id":51},"id":133334,"meta":{},"system_time":1785897471287156880,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:37:51.287 [debug] QUERY OK source="sources" db=0.2ms idle=420.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:51.288 [debug] QUERY OK source="settings" db=0.2ms idle=421.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.308 [debug] QUERY OK source="media_items" db=20.0ms idle=8.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 04:37:51.335 [debug] QUERY OK source="media_items" db=26.6ms idle=21.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [51] 04:37:51.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:51.336 [debug] QUERY OK source="settings" db=0.0ms idle=48.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.336 [debug] QUERY OK source="settings" db=0.0ms idle=47.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.347 [debug] QUERY OK source="media_items" db=10.4ms idle=28.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [51] 04:37:51.349 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:37:51.349 [debug] Current batch of media processed. Will check again in 1000ms 04:37:51.349 [debug] QUERY OK source="settings" db=0.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.349 [debug] QUERY OK source="settings" db=0.0ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.349 [debug] QUERY OK source="settings" db=0.0ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:51.349 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/thedailyshow --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/The Daily Show/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/47/06/4706e486dc7f5ecfc1d4214324e1464963632c52d4b4c0d7cdd396914399dbfd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1f/a0/1fa049a9a7ba8fbdcb92fa89b4f3d79417cc8eb8a68e0fcbcac3125fa236140a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:37:52.349 [debug] Current batch of media processed. Will check again in 1000ms 04:37:53.350 [debug] Current batch of media processed. Will check again in 1000ms 04:37:54.351 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ronny Chieng and Jordan Klepper look back on 30 f**king years of The Daily Show and talk about what it's like joining as a correspondent and as a weekly host, and why field pieces remain at the heart of the show's legacy. They revisit standout moments from the archives, including Brian Unger's legendary Disney-man interview, Steve Carell and Stephen Colbert's \"Even Stevphen\" debates, and Jordan's first Trump rally piece. #DailyShow #TDS30 #JordanKlepper #RonnyChieng \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 3741, "filename" => "/downloads/The Daily Show/Season 2026/s2026e080300 - 30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show.mp4", "id" => "c_A9RgCRFGg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c_A9RgCRFGg", "playlist_index" => 1, "timestamp" => 1785762019, "title" => "30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show", "upload_date" => "20260803"} 04:37:54.351 [debug] QUERY OK source="sources" db=0.1ms idle=1485.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:54.352 [debug] QUERY OK source="sources" db=0.1ms idle=1069.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:54.355 [debug] QUERY OK source="media_items" db=2.6ms idle=1063.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-03 13:00:19Z], 51] 04:37:54.367 [debug] QUERY OK source="media_items" db=11.8ms idle=71.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ronny Chieng and Jordan Klepper look back on 30 f**king years of The Daily Show and talk about what it's like joining as a correspondent and as a weekly host, and why field pieces remain at the heart of the show's legacy. They revisit standout moments from the archives, including Brian Unger's legendary Disney-man interview, Steve Carell and Stephen Colbert's \"Even Stevphen\" debates, and Jordan's first Trump rally piece. #DailyShow #TDS30 #JordanKlepper #RonnyChieng \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show", "33506547-ef5c-45f4-95bc-066ab54ca227", false, 51, [], 3741, false, "c_A9RgCRFGg", "https://www.youtube.com/watch?v=c_A9RgCRFGg", 1, "/downloads/The Daily Show/Season 2026/s2026e080300 - 30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show.mp4", false, false, 98, ~U[2026-08-03 13:00:19Z], ~U[2026-08-05 02:37:54Z], ~U[2026-08-05 02:37:54Z], "Ronny Chieng and Jordan Klepper look back on 30 f**king years of The Daily Show and talk about what it's like joining as a correspondent and as a weekly host, and why field pieces remain at the heart of the show's legacy. They revisit standout moments from the archives, including Brian Unger's legendary Disney-man interview, Steve Carell and Stephen Colbert's \"Even Stevphen\" debates, and Jordan's first Trump rally piece. #DailyShow #TDS30 #JordanKlepper #RonnyChieng \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show", 51, 3741, false, "c_A9RgCRFGg", "https://www.youtube.com/watch?v=c_A9RgCRFGg", "/downloads/The Daily Show/Season 2026/s2026e080300 - 30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show.mp4", false, ~U[2026-08-03 13:00:19Z]] 04:37:54.367 [debug] QUERY OK source="sources" db=0.2ms idle=77.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:54.368 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:54.368 [debug] QUERY OK source="media_items" db=0.2ms idle=16.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5249463] 04:37:54.368 [debug] Current batch of media processed. Will check again in 1000ms 04:37:55.369 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jon Stewart comments on the rescheduled White House Correspondents' Dinner and Trump's failed attempt at comedy. Jordan Klepper weighs in on the president being called a \"pedophile protector\" yet again while visiting a General Motors facility in Michigan, and breaks down how the Trump administration accidentally reimagined drug trafficking. Plus, Klepper covers Lindsey Graham's funeral, the DNC getting scammed out of $29K, and the underwhelming release of Anthony Fauci's diary. #DailyShow #Trump #WHCD #LindseyGraham #Fauci\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 2971, "filename" => "/downloads/The Daily Show/Season 2026/s2026e080100 - Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show.mp4", "id" => "6f7ubobdr_I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6f7ubobdr_I", "playlist_index" => 2, "timestamp" => 1785589200, "title" => "Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show", "upload_date" => "20260801"} 04:37:55.370 [debug] QUERY OK source="sources" db=0.2ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:55.370 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:55.381 [debug] QUERY OK source="media_items" db=10.3ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 13:00:00Z], 51] 04:37:55.391 [debug] QUERY OK source="media_items" db=10.1ms idle=94.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jon Stewart comments on the rescheduled White House Correspondents' Dinner and Trump's failed attempt at comedy. Jordan Klepper weighs in on the president being called a \"pedophile protector\" yet again while visiting a General Motors facility in Michigan, and breaks down how the Trump administration accidentally reimagined drug trafficking. Plus, Klepper covers Lindsey Graham's funeral, the DNC getting scammed out of $29K, and the underwhelming release of Anthony Fauci's diary. #DailyShow #Trump #WHCD #LindseyGraham #Fauci\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show", "d7996ec1-24e1-478f-b82d-59ef84bb21f6", false, 51, [], 2971, false, "6f7ubobdr_I", "https://www.youtube.com/watch?v=6f7ubobdr_I", 2, "/downloads/The Daily Show/Season 2026/s2026e080100 - Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show.mp4", false, false, 98, ~U[2026-08-01 13:00:00Z], ~U[2026-08-05 02:37:55Z], ~U[2026-08-05 02:37:55Z], "Jon Stewart comments on the rescheduled White House Correspondents' Dinner and Trump's failed attempt at comedy. Jordan Klepper weighs in on the president being called a \"pedophile protector\" yet again while visiting a General Motors facility in Michigan, and breaks down how the Trump administration accidentally reimagined drug trafficking. Plus, Klepper covers Lindsey Graham's funeral, the DNC getting scammed out of $29K, and the underwhelming release of Anthony Fauci's diary. #DailyShow #Trump #WHCD #LindseyGraham #Fauci\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show", 51, 2971, false, "6f7ubobdr_I", "https://www.youtube.com/watch?v=6f7ubobdr_I", "/downloads/The Daily Show/Season 2026/s2026e080100 - Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show.mp4", false, ~U[2026-08-01 13:00:00Z]] 04:37:55.392 [debug] QUERY OK source="sources" db=0.2ms idle=98.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:55.392 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:55.393 [debug] QUERY OK source="media_items" db=0.2ms idle=22.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5241766] 04:37:55.393 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In honor of America's 250th birthday, Michael Kosta hit the streets of NYC to ask his fellow citizens a simple question: Who is the greatest American of all time? The answers poured in, and boy were they wrong. It's John Motherf**king Stamos! Luckily, Stamos himself happened to be there to help a starstruck Kosta set the record straight. Thanks, Uncle Jesse! #DailyShow #JohnStamos #UncleJesse #GreatestAmerican #FullHouse \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 238, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073100 - Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show.mp4", "id" => "0zybOrEU8-g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0zybOrEU8-g", "playlist_index" => 3, "timestamp" => 1785497193, "title" => "Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show", "upload_date" => "20260731"} 04:37:55.394 [debug] QUERY OK source="sources" db=0.8ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:55.394 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:55.402 [debug] QUERY OK source="media_items" db=8.1ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 11:26:33Z], 51] 04:37:55.404 [debug] QUERY OK source="media_items" db=1.2ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In honor of America's 250th birthday, Michael Kosta hit the streets of NYC to ask his fellow citizens a simple question: Who is the greatest American of all time? The answers poured in, and boy were they wrong. It's John Motherf**king Stamos! Luckily, Stamos himself happened to be there to help a starstruck Kosta set the record straight. Thanks, Uncle Jesse! #DailyShow #JohnStamos #UncleJesse #GreatestAmerican #FullHouse \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show", "4bb1b1b5-64f6-4e28-82f9-c86a4060bfee", false, 51, [], 238, false, "0zybOrEU8-g", "https://www.youtube.com/watch?v=0zybOrEU8-g", 3, "/downloads/The Daily Show/Season 2026/s2026e073100 - Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 11:26:33Z], ~U[2026-08-05 02:37:55Z], ~U[2026-08-05 02:37:55Z], "In honor of America's 250th birthday, Michael Kosta hit the streets of NYC to ask his fellow citizens a simple question: Who is the greatest American of all time? The answers poured in, and boy were they wrong. It's John Motherf**king Stamos! Luckily, Stamos himself happened to be there to help a starstruck Kosta set the record straight. Thanks, Uncle Jesse! #DailyShow #JohnStamos #UncleJesse #GreatestAmerican #FullHouse \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show", 51, 238, false, "0zybOrEU8-g", "https://www.youtube.com/watch?v=0zybOrEU8-g", "/downloads/The Daily Show/Season 2026/s2026e073100 - Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show.mp4", false, ~U[2026-07-31 11:26:33Z]] 04:37:55.404 [debug] QUERY OK source="sources" db=0.2ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:55.405 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:55.405 [debug] QUERY OK source="media_items" db=0.2ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237908] 04:37:55.405 [debug] Current batch of media processed. Will check again in 1000ms 04:37:56.406 [debug] Current batch of media processed. Will check again in 1000ms 04:37:57.407 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "“It’s a special thing to be a 17-year-old and to feel as if you can ask questions of people in power and hopefully do some good for your community by doing so.” Theo Baker, award-winning journalist and bestselling author of \"How to Rule the World: An Education in Power at Stanford University,” chats with Jordan Klepper about his freshman year research misconduct investigation into Stanford University President Marc Tessier-Lavigne, which led to his resignation in 2023. They talk about Stanford’s “Faustian bargain” with Silicon Valley, the incredible money and power thrust into undergraduates’ hands, and how Baker convinced sources to tell a teenager their secrets. #DailyShow #TheoBaker #Stanford #SiliconValley #Journalism\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 648, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073100 - Theo Baker - Investigating Power & Influence at Stanford | The Daily Show.mp4", "id" => "fyt0pImMtiI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fyt0pImMtiI", "playlist_index" => 4, "timestamp" => 1785468672, "title" => "Theo Baker - Investigating Power & Influence at Stanford | The Daily Show", "upload_date" => "20260731"} 04:37:57.408 [debug] QUERY OK source="sources" db=0.1ms idle=541.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:57.408 [debug] QUERY OK source="sources" db=0.1ms idle=541.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:57.419 [debug] QUERY OK source="media_items" db=10.9ms idle=541.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 03:31:12Z], 51] 04:37:57.430 [debug] QUERY OK source="media_items" db=10.1ms idle=128.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["“It’s a special thing to be a 17-year-old and to feel as if you can ask questions of people in power and hopefully do some good for your community by doing so.” Theo Baker, award-winning journalist and bestselling author of \"How to Rule the World: An Education in Power at Stanford University,” chats with Jordan Klepper about his freshman year research misconduct investigation into Stanford University President Marc Tessier-Lavigne, which led to his resignation in 2023. They talk about Stanford’s “Faustian bargain” with Silicon Valley, the incredible money and power thrust into undergraduates’ hands, and how Baker convinced sources to tell a teenager their secrets. #DailyShow #TheoBaker #Stanford #SiliconValley #Journalism\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Theo Baker - Investigating Power & Influence at Stanford | The Daily Show", "4c44d921-0460-4c2f-9565-cab618319b23", false, 51, [], 648, false, "fyt0pImMtiI", "https://www.youtube.com/watch?v=fyt0pImMtiI", 4, "/downloads/The Daily Show/Season 2026/s2026e073100 - Theo Baker - Investigating Power & Influence at Stanford | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 03:31:12Z], ~U[2026-08-05 02:37:57Z], ~U[2026-08-05 02:37:57Z], "“It’s a special thing to be a 17-year-old and to feel as if you can ask questions of people in power and hopefully do some good for your community by doing so.” Theo Baker, award-winning journalist and bestselling author of \"How to Rule the World: An Education in Power at Stanford University,” chats with Jordan Klepper about his freshman year research misconduct investigation into Stanford University President Marc Tessier-Lavigne, which led to his resignation in 2023. They talk about Stanford’s “Faustian bargain” with Silicon Valley, the incredible money and power thrust into undergraduates’ hands, and how Baker convinced sources to tell a teenager their secrets. #DailyShow #TheoBaker #Stanford #SiliconValley #Journalism\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Theo Baker - Investigating Power & Influence at Stanford | The Daily Show", 51, 648, false, "fyt0pImMtiI", "https://www.youtube.com/watch?v=fyt0pImMtiI", "/downloads/The Daily Show/Season 2026/s2026e073100 - Theo Baker - Investigating Power & Influence at Stanford | The Daily Show.mp4", false, ~U[2026-07-31 03:31:12Z]] 04:37:57.430 [debug] QUERY OK source="sources" db=0.1ms idle=133.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:57.430 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:57.431 [debug] QUERY OK source="media_items" db=0.2ms idle=22.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5237909] 04:37:57.431 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr. Anthony Fauci testified before the Senate in the GOP's hyperpartisan investigation into his \"megalomania\" and alleged mishandling of Covid, despite the fact that Trump admitted to having “a lot of respect for Dr. Fauci” during the pandemic. Jordan Klepper gets into the hearing’s biggest moments, including Fauci repeatedly invoking the Fifth Amendment, Senator Josh Hawley invoking Fauci’s diary entries, and one Instagram commenter invoking the eggplant emoji. #DailyShow #Fauci #COVID #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 748, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073100 - Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show.mp4", "id" => "14j9b34VCJI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=14j9b34VCJI", "playlist_index" => 5, "timestamp" => 1785463251, "title" => "Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show", "upload_date" => "20260731"} 04:37:57.432 [debug] QUERY OK source="sources" db=0.8ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:57.432 [debug] QUERY OK source="sources" db=0.0ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:57.439 [debug] QUERY OK source="media_items" db=7.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 02:00:51Z], 51] 04:37:57.441 [debug] QUERY OK source="media_items" db=1.0ms idle=9.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Anthony Fauci testified before the Senate in the GOP's hyperpartisan investigation into his \"megalomania\" and alleged mishandling of Covid, despite the fact that Trump admitted to having “a lot of respect for Dr. Fauci” during the pandemic. Jordan Klepper gets into the hearing’s biggest moments, including Fauci repeatedly invoking the Fifth Amendment, Senator Josh Hawley invoking Fauci’s diary entries, and one Instagram commenter invoking the eggplant emoji. #DailyShow #Fauci #COVID #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show", "6e2a6b53-ceb6-4029-86cf-3601430d2ba8", false, 51, [], 748, false, "14j9b34VCJI", "https://www.youtube.com/watch?v=14j9b34VCJI", 5, "/downloads/The Daily Show/Season 2026/s2026e073100 - Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 02:00:51Z], ~U[2026-08-05 02:37:57Z], ~U[2026-08-05 02:37:57Z], "Dr. Anthony Fauci testified before the Senate in the GOP's hyperpartisan investigation into his \"megalomania\" and alleged mishandling of Covid, despite the fact that Trump admitted to having “a lot of respect for Dr. Fauci” during the pandemic. Jordan Klepper gets into the hearing’s biggest moments, including Fauci repeatedly invoking the Fifth Amendment, Senator Josh Hawley invoking Fauci’s diary entries, and one Instagram commenter invoking the eggplant emoji. #DailyShow #Fauci #COVID #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show", 51, 748, false, "14j9b34VCJI", "https://www.youtube.com/watch?v=14j9b34VCJI", "/downloads/The Daily Show/Season 2026/s2026e073100 - Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show.mp4", false, ~U[2026-07-31 02:00:51Z]] 04:37:57.441 [debug] QUERY OK source="sources" db=0.1ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:57.441 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:57.442 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5234038] 04:37:57.442 [debug] Current batch of media processed. Will check again in 1000ms 04:37:58.443 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Fox News got a hold of Anthony Fauci's Covid-era diary, and Desi Lydic is ready to Foxsplain every evil detail. #DailyShow #Fauci #DesiLydic #Foxsplains \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 176, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073000 - Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show.mp4", "id" => "tWq-1XCHME8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tWq-1XCHME8", "playlist_index" => 6, "timestamp" => 1785453022, "title" => "Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show", "upload_date" => "20260730"} 04:37:58.444 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:58.444 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:58.456 [debug] QUERY OK source="media_items" db=12.2ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 23:10:22Z], 51] 04:37:58.467 [debug] QUERY OK source="media_items" db=10.1ms idle=162.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fox News got a hold of Anthony Fauci's Covid-era diary, and Desi Lydic is ready to Foxsplain every evil detail. #DailyShow #Fauci #DesiLydic #Foxsplains \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show", "ae714023-4e6b-42eb-b1e7-164abaa8f752", false, 51, [], 176, false, "tWq-1XCHME8", "https://www.youtube.com/watch?v=tWq-1XCHME8", 6, "/downloads/The Daily Show/Season 2026/s2026e073000 - Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 23:10:22Z], ~U[2026-08-05 02:37:58Z], ~U[2026-08-05 02:37:58Z], "Fox News got a hold of Anthony Fauci's Covid-era diary, and Desi Lydic is ready to Foxsplain every evil detail. #DailyShow #Fauci #DesiLydic #Foxsplains \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show", 51, 176, false, "tWq-1XCHME8", "https://www.youtube.com/watch?v=tWq-1XCHME8", "/downloads/The Daily Show/Season 2026/s2026e073000 - Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show.mp4", false, ~U[2026-07-30 23:10:22Z]] 04:37:58.467 [debug] QUERY OK source="sources" db=0.1ms idle=166.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:58.468 [debug] QUERY OK source="media_profiles" db=0.2ms idle=24.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:58.468 [debug] QUERY OK source="media_items" db=0.2ms idle=24.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5234039] 04:37:58.468 [debug] Current batch of media processed. Will check again in 1000ms 04:37:59.469 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "MAGA bros know the best way to honor Trump is to look just like him, which is why we're proud to introduce the Presidential Neck Vag! Made of premium, jiggle-responsive silicone, this cooter collar is the perfect accessory for your MAGA life. Whether you're crushing it at the office or just hanging with the boys, you'll look great sporting the fleshy folds of Donald Trump's iconic neck. Sorry, ladies, the Presidential Neck Vag is for alpha males ONLY. #DailyShow #Trump #bobbycannavale #Neck\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 205, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073000 - Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show.mp4", "id" => "cI6kFf94svU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cI6kFf94svU", "playlist_index" => 7, "timestamp" => 1785411485, "title" => "Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show", "upload_date" => "20260730"} 04:37:59.469 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:37:59.470 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:59.477 [debug] QUERY OK source="media_items" db=7.0ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 11:38:05Z], 51] 04:37:59.488 [debug] QUERY OK source="media_items" db=10.3ms idle=180.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["MAGA bros know the best way to honor Trump is to look just like him, which is why we're proud to introduce the Presidential Neck Vag! Made of premium, jiggle-responsive silicone, this cooter collar is the perfect accessory for your MAGA life. Whether you're crushing it at the office or just hanging with the boys, you'll look great sporting the fleshy folds of Donald Trump's iconic neck. Sorry, ladies, the Presidential Neck Vag is for alpha males ONLY. #DailyShow #Trump #bobbycannavale #Neck\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show", "4a1242c5-658c-425f-be13-39ec6d12acb1", false, 51, [], 205, false, "cI6kFf94svU", "https://www.youtube.com/watch?v=cI6kFf94svU", 7, "/downloads/The Daily Show/Season 2026/s2026e073000 - Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 11:38:05Z], ~U[2026-08-05 02:37:59Z], ~U[2026-08-05 02:37:59Z], "MAGA bros know the best way to honor Trump is to look just like him, which is why we're proud to introduce the Presidential Neck Vag! Made of premium, jiggle-responsive silicone, this cooter collar is the perfect accessory for your MAGA life. Whether you're crushing it at the office or just hanging with the boys, you'll look great sporting the fleshy folds of Donald Trump's iconic neck. Sorry, ladies, the Presidential Neck Vag is for alpha males ONLY. #DailyShow #Trump #bobbycannavale #Neck\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show", 51, 205, false, "cI6kFf94svU", "https://www.youtube.com/watch?v=cI6kFf94svU", "/downloads/The Daily Show/Season 2026/s2026e073000 - Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show.mp4", false, ~U[2026-07-30 11:38:05Z]] 04:37:59.488 [debug] QUERY OK source="sources" db=0.1ms idle=185.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:37:59.488 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:59.489 [debug] QUERY OK source="media_items" db=0.2ms idle=18.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5234040] 04:37:59.489 [debug] Current batch of media processed. Will check again in 1000ms 04:38:00.455 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:00.490 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Satanic doo-wop duo Twin Temple performs \"Haunt Me\" from their new album, \"Doomed Lovers.\" #DailyShow #TwinTemple #HauntMe #DoomedLovers\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 233, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Makes Their Late-Night Debut with "Haunt Me" | The Daily Show.mp4", "id" => "rXabkQ2d7rU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rXabkQ2d7rU", "playlist_index" => 8, "timestamp" => 1785384066, "title" => "Twin Temple Makes Their Late-Night Debut with \"Haunt Me\" | The Daily Show", "upload_date" => "20260730"} 04:38:00.491 [debug] QUERY OK source="sources" db=0.2ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:00.491 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:00.500 [debug] QUERY OK source="media_items" db=9.3ms idle=192.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 04:01:06Z], 51] 04:38:00.507 [debug] QUERY OK source="media_items" db=6.1ms idle=196.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Satanic doo-wop duo Twin Temple performs \"Haunt Me\" from their new album, \"Doomed Lovers.\" #DailyShow #TwinTemple #HauntMe #DoomedLovers\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Makes Their Late-Night Debut with \"Haunt Me\" | The Daily Show", "57ed1f76-f14a-425e-b1e9-4384ddb9b1b4", false, 51, [], 233, false, "rXabkQ2d7rU", "https://www.youtube.com/watch?v=rXabkQ2d7rU", 8, "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Makes Their Late-Night Debut with "Haunt Me" | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 04:01:06Z], ~U[2026-08-05 02:38:00Z], ~U[2026-08-05 02:38:00Z], "Satanic doo-wop duo Twin Temple performs \"Haunt Me\" from their new album, \"Doomed Lovers.\" #DailyShow #TwinTemple #HauntMe #DoomedLovers\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Makes Their Late-Night Debut with \"Haunt Me\" | The Daily Show", 51, 233, false, "rXabkQ2d7rU", "https://www.youtube.com/watch?v=rXabkQ2d7rU", "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Makes Their Late-Night Debut with "Haunt Me" | The Daily Show.mp4", false, ~U[2026-07-30 04:01:06Z]] 04:38:00.507 [debug] QUERY OK source="sources" db=0.2ms idle=52.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:00.508 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:00.508 [debug] QUERY OK source="media_items" db=0.3ms idle=17.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5234041] 04:38:00.509 [debug] Current batch of media processed. Will check again in 1000ms 04:38:01.509 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Satanic doo-wop band Twin Temple chats with Jordan Klepper about their upcoming new album, “Doomed Lovers.” The duo talks about working with Shooter Jennings, recording analog with a 37-piece orchestra, making national news for getting kicked off a tour for their Satanic imagery, and explains why they call their sound “Satanic doo-wop.” #DailyShow #TwinTemple #DoomedLovers #Satan \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 573, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Talk New Album “Doomed Lovers” | The Daily Show.mp4", "id" => "E3Wf-FIpHQA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E3Wf-FIpHQA", "playlist_index" => 9, "timestamp" => 1785382162, "title" => "Twin Temple Talk New Album “Doomed Lovers” | The Daily Show", "upload_date" => "20260730"} 04:38:01.509 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:01.510 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:01.519 [debug] QUERY OK source="media_items" db=8.8ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 03:29:22Z], 51] 04:38:01.520 [debug] QUERY OK source="media_items" db=0.8ms idle=218.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Satanic doo-wop band Twin Temple chats with Jordan Klepper about their upcoming new album, “Doomed Lovers.” The duo talks about working with Shooter Jennings, recording analog with a 37-piece orchestra, making national news for getting kicked off a tour for their Satanic imagery, and explains why they call their sound “Satanic doo-wop.” #DailyShow #TwinTemple #DoomedLovers #Satan \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Talk New Album “Doomed Lovers” | The Daily Show", "61265bb7-dcc0-48b4-b327-b68719efc934", false, 51, [], 573, false, "E3Wf-FIpHQA", "https://www.youtube.com/watch?v=E3Wf-FIpHQA", 9, "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Talk New Album “Doomed Lovers” | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 03:29:22Z], ~U[2026-08-05 02:38:01Z], ~U[2026-08-05 02:38:01Z], "Satanic doo-wop band Twin Temple chats with Jordan Klepper about their upcoming new album, “Doomed Lovers.” The duo talks about working with Shooter Jennings, recording analog with a 37-piece orchestra, making national news for getting kicked off a tour for their Satanic imagery, and explains why they call their sound “Satanic doo-wop.” #DailyShow #TwinTemple #DoomedLovers #Satan \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Talk New Album “Doomed Lovers” | The Daily Show", 51, 573, false, "E3Wf-FIpHQA", "https://www.youtube.com/watch?v=E3Wf-FIpHQA", "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Talk New Album “Doomed Lovers” | The Daily Show.mp4", false, ~U[2026-07-30 03:29:22Z]] 04:38:01.520 [debug] QUERY OK source="sources" db=0.2ms idle=213.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:01.521 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:01.521 [debug] QUERY OK source="media_items" db=0.1ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5234042] 04:38:01.521 [debug] Current batch of media processed. Will check again in 1000ms 04:38:02.522 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jordan Klepper dives into the latest headlines: the DNC gets scammed out of $29K, Trump shades Lindsey Graham at his own funeral, Sean Hannity uses the senator's eulogy to gush about the ratings he delivered for Fox News, and America's war with Iran is back on. Plus, Troy Iwata comes to us live from Lindsey Graham's heaven, which looks suspiciously like Mar-a-Lago. #DailyShow #Trump #DNC #LindseyGraham #SeanHannity\n\n0:00 - DNC Scammed Out of $29K\n0:40 - President Trump Makes Appearance at Lindsey Graham's Funeral\n4:00 - Sean Hannity Gives Remarks at Graham's Funeral\n8:08 - Troy Iwata Comments on Graham's Funeral\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 745, "filename" => "/downloads/The Daily Show/Season 2026/s2026e073000 - Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show.mp4", "id" => "9-Q1p74b-Xo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9-Q1p74b-Xo", "playlist_index" => 10, "timestamp" => 1785376964, "title" => "Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show", "upload_date" => "20260730"} 04:38:02.523 [debug] QUERY OK source="sources" db=0.1ms idle=1001.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:02.523 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:02.536 [debug] QUERY OK source="media_items" db=12.3ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 02:02:44Z], 51] 04:38:02.547 [debug] QUERY OK source="media_items" db=10.3ms idle=233.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper dives into the latest headlines: the DNC gets scammed out of $29K, Trump shades Lindsey Graham at his own funeral, Sean Hannity uses the senator's eulogy to gush about the ratings he delivered for Fox News, and America's war with Iran is back on. Plus, Troy Iwata comes to us live from Lindsey Graham's heaven, which looks suspiciously like Mar-a-Lago. #DailyShow #Trump #DNC #LindseyGraham #SeanHannity\n\n0:00 - DNC Scammed Out of $29K\n0:40 - President Trump Makes Appearance at Lindsey Graham's Funeral\n4:00 - Sean Hannity Gives Remarks at Graham's Funeral\n8:08 - Troy Iwata Comments on Graham's Funeral\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show", "5a681c7a-7dd1-43e3-97a0-92e788cbdcc9", false, 51, [], 745, false, "9-Q1p74b-Xo", "https://www.youtube.com/watch?v=9-Q1p74b-Xo", 10, "/downloads/The Daily Show/Season 2026/s2026e073000 - Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 02:02:44Z], ~U[2026-08-05 02:38:02Z], ~U[2026-08-05 02:38:02Z], "Jordan Klepper dives into the latest headlines: the DNC gets scammed out of $29K, Trump shades Lindsey Graham at his own funeral, Sean Hannity uses the senator's eulogy to gush about the ratings he delivered for Fox News, and America's war with Iran is back on. Plus, Troy Iwata comes to us live from Lindsey Graham's heaven, which looks suspiciously like Mar-a-Lago. #DailyShow #Trump #DNC #LindseyGraham #SeanHannity\n\n0:00 - DNC Scammed Out of $29K\n0:40 - President Trump Makes Appearance at Lindsey Graham's Funeral\n4:00 - Sean Hannity Gives Remarks at Graham's Funeral\n8:08 - Troy Iwata Comments on Graham's Funeral\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show", 51, 745, false, "9-Q1p74b-Xo", "https://www.youtube.com/watch?v=9-Q1p74b-Xo", "/downloads/The Daily Show/Season 2026/s2026e073000 - Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show.mp4", false, ~U[2026-07-30 02:02:44Z]] 04:38:02.547 [debug] QUERY OK source="sources" db=0.2ms idle=237.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:02.548 [debug] QUERY OK source="media_profiles" db=0.2ms idle=24.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:02.548 [debug] QUERY OK source="media_items" db=0.2ms idle=24.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5230197] 04:38:02.548 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's no secret that Americans are being recorded everywhere, all the time, but the reality is even worse than you might think. In this edition of Back in Black, Lewis Black zooms in on everyday surveillance, including creeps going viral for sneaking photos of women, kids using location-tracking apps to \"fambush\" their parents, and Kylie Jenner peddling her own line of fashion-forward AI glasses. #DailyShow #LewisBlack #MetaGlasses #AI #Meta\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 328, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072900 - Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to "Fambushing" | The Daily Show.mp4", "id" => "hFPMm3lwCmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hFPMm3lwCmQ", "playlist_index" => 11, "timestamp" => 1785324767, "title" => "Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to \"Fambushing\" | The Daily Show", "upload_date" => "20260729"} 04:38:02.550 [debug] QUERY OK source="sources" db=1.3ms idle=12.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:02.550 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:02.563 [debug] QUERY OK source="media_items" db=12.1ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 11:32:47Z], 51] 04:38:02.564 [debug] QUERY OK source="media_items" db=1.1ms idle=15.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It's no secret that Americans are being recorded everywhere, all the time, but the reality is even worse than you might think. In this edition of Back in Black, Lewis Black zooms in on everyday surveillance, including creeps going viral for sneaking photos of women, kids using location-tracking apps to \"fambush\" their parents, and Kylie Jenner peddling her own line of fashion-forward AI glasses. #DailyShow #LewisBlack #MetaGlasses #AI #Meta\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to \"Fambushing\" | The Daily Show", "7429db57-e350-48d6-b412-533633875b95", false, 51, [], 328, false, "hFPMm3lwCmQ", "https://www.youtube.com/watch?v=hFPMm3lwCmQ", 11, "/downloads/The Daily Show/Season 2026/s2026e072900 - Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to "Fambushing" | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 11:32:47Z], ~U[2026-08-05 02:38:02Z], ~U[2026-08-05 02:38:02Z], "It's no secret that Americans are being recorded everywhere, all the time, but the reality is even worse than you might think. In this edition of Back in Black, Lewis Black zooms in on everyday surveillance, including creeps going viral for sneaking photos of women, kids using location-tracking apps to \"fambush\" their parents, and Kylie Jenner peddling her own line of fashion-forward AI glasses. #DailyShow #LewisBlack #MetaGlasses #AI #Meta\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to \"Fambushing\" | The Daily Show", 51, 328, false, "hFPMm3lwCmQ", "https://www.youtube.com/watch?v=hFPMm3lwCmQ", "/downloads/The Daily Show/Season 2026/s2026e072900 - Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to "Fambushing" | The Daily Show.mp4", false, ~U[2026-07-29 11:32:47Z]] 04:38:02.565 [debug] QUERY OK source="sources" db=0.1ms idle=16.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:02.565 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:02.566 [debug] QUERY OK source="media_items" db=0.2ms idle=15.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5230198] 04:38:02.566 [debug] Current batch of media processed. Will check again in 1000ms 04:38:03.566 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bestselling author, comedian and Emmy-winning actor Jeff Hiller talks to fellow tall person Jordan Klepper to discuss his nomination for Outstanding Guest Actor in the Apple TV series \"Pluribus,” and how the seven-minute role could make him the Dame Judi Dench of the Emmys. They talk about his roles in two hit Apple TV shows, how he can tell which show people notice him from, his use of improv in “Widow’s Bay,” and how his “Pluribus” character embodied a human ChatGPT. #DailyShow #Pluribus #WidowsBay #Emmys\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 437, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072900 - Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show.mp4", "id" => "cGa06f5d3zk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cGa06f5d3zk", "playlist_index" => 12, "timestamp" => 1785295805, "title" => "Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show", "upload_date" => "20260729"} 04:38:03.567 [debug] QUERY OK source="sources" db=0.2ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:03.567 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:03.575 [debug] QUERY OK source="media_items" db=7.9ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 03:30:05Z], 51] 04:38:03.586 [debug] QUERY OK source="media_items" db=10.0ms idle=269.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bestselling author, comedian and Emmy-winning actor Jeff Hiller talks to fellow tall person Jordan Klepper to discuss his nomination for Outstanding Guest Actor in the Apple TV series \"Pluribus,” and how the seven-minute role could make him the Dame Judi Dench of the Emmys. They talk about his roles in two hit Apple TV shows, how he can tell which show people notice him from, his use of improv in “Widow’s Bay,” and how his “Pluribus” character embodied a human ChatGPT. #DailyShow #Pluribus #WidowsBay #Emmys\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show", "bc38ae89-926c-4c2c-b96f-85e0ceef5dbb", false, 51, [], 437, false, "cGa06f5d3zk", "https://www.youtube.com/watch?v=cGa06f5d3zk", 12, "/downloads/The Daily Show/Season 2026/s2026e072900 - Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 03:30:05Z], ~U[2026-08-05 02:38:03Z], ~U[2026-08-05 02:38:03Z], "Bestselling author, comedian and Emmy-winning actor Jeff Hiller talks to fellow tall person Jordan Klepper to discuss his nomination for Outstanding Guest Actor in the Apple TV series \"Pluribus,” and how the seven-minute role could make him the Dame Judi Dench of the Emmys. They talk about his roles in two hit Apple TV shows, how he can tell which show people notice him from, his use of improv in “Widow’s Bay,” and how his “Pluribus” character embodied a human ChatGPT. #DailyShow #Pluribus #WidowsBay #Emmys\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show", 51, 437, false, "cGa06f5d3zk", "https://www.youtube.com/watch?v=cGa06f5d3zk", "/downloads/The Daily Show/Season 2026/s2026e072900 - Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show.mp4", false, ~U[2026-07-29 03:30:05Z]] 04:38:03.586 [debug] QUERY OK source="sources" db=0.2ms idle=273.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:03.587 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:03.587 [debug] QUERY OK source="media_items" db=0.2ms idle=19.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5230199] 04:38:03.587 [debug] Current batch of media processed. Will check again in 1000ms 04:38:04.588 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jordan Klepper dives into Trump getting called a pedophile protector AGAIN while speaking at a General Motors facility in Michigan, why the president decided to pronounce Mexico as \"Meheho,\" the new tariffs on Canada that ruined the opening of the Gordie Howe International Bridge, and how the Trump administration accidentally helped reimagine cocaine trafficking. Plus, Klepper visits a naked protest to find out if Antifa is dressed up as an inflatable frog. #DailyShow #GeneralMotors #Tariffs #Mexico #Cocaine \n\n0:00 - Jordan Klepper's TDS Welcome\n0:23 - President Trump Gets Called \"Pedophile Protector\" at General Motors Again\n3:45 - Gordie Howe Bridge Opens Amid Trump Tariffs\n6:18 - Trump's War on Drugs Encourages Drug Lords to Get Creative\n7:50 - Jordan Klepper Asks Citizens How Trump is Doing as President\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 680, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072900 - Trump Gets Called "Pedophile Protector" AGAIN & Mexico Gets a New Pronunciation | The Daily Show.mp4", "id" => "f0Qoqc-zOaE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f0Qoqc-zOaE", "playlist_index" => 13, "timestamp" => 1785290367, "title" => "Trump Gets Called \"Pedophile Protector\" AGAIN & Mexico Gets a New Pronunciation | The Daily Show", "upload_date" => "20260729"} 04:38:04.588 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:04.589 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:04.602 [debug] QUERY OK source="media_items" db=12.7ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 01:59:27Z], 51] 04:38:04.612 [debug] QUERY OK source="media_items" db=10.2ms idle=293.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper dives into Trump getting called a pedophile protector AGAIN while speaking at a General Motors facility in Michigan, why the president decided to pronounce Mexico as \"Meheho,\" the new tariffs on Canada that ruined the opening of the Gordie Howe International Bridge, and how the Trump administration accidentally helped reimagine cocaine trafficking. Plus, Klepper visits a naked protest to find out if Antifa is dressed up as an inflatable frog. #DailyShow #GeneralMotors #Tariffs #Mexico #Cocaine \n\n0:00 - Jordan Klepper's TDS Welcome\n0:23 - President Trump Gets Called \"Pedophile Protector\" at General Motors Again\n3:45 - Gordie Howe Bridge Opens Amid Trump Tariffs\n6:18 - Trump's War on Drugs Encourages Drug Lords to Get Creative\n7:50 - Jordan Klepper Asks Citizens How Trump is Doing as President\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Gets Called \"Pedophile Protector\" AGAIN & Mexico Gets a New Pronunciation | The Daily Show", "759b41c0-0843-4fde-a8f6-2fe5554ac0b0", false, 51, [], 680, false, "f0Qoqc-zOaE", "https://www.youtube.com/watch?v=f0Qoqc-zOaE", 13, "/downloads/The Daily Show/Season 2026/s2026e072900 - Trump Gets Called "Pedophile Protector" AGAIN & Mexico Gets a New Pronunciation | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 01:59:27Z], ~U[2026-08-05 02:38:04Z], ~U[2026-08-05 02:38:04Z], "Jordan Klepper dives into Trump getting called a pedophile protector AGAIN while speaking at a General Motors facility in Michigan, why the president decided to pronounce Mexico as \"Meheho,\" the new tariffs on Canada that ruined the opening of the Gordie Howe International Bridge, and how the Trump administration accidentally helped reimagine cocaine trafficking. Plus, Klepper visits a naked protest to find out if Antifa is dressed up as an inflatable frog. #DailyShow #GeneralMotors #Tariffs #Mexico #Cocaine \n\n0:00 - Jordan Klepper's TDS Welcome\n0:23 - President Trump Gets Called \"Pedophile Protector\" at General Motors Again\n3:45 - Gordie Howe Bridge Opens Amid Trump Tariffs\n6:18 - Trump's War on Drugs Encourages Drug Lords to Get Creative\n7:50 - Jordan Klepper Asks Citizens How Trump is Doing as President\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Gets Called \"Pedophile Protector\" AGAIN & Mexico Gets a New Pronunciation | The Daily Show", 51, 680, false, "f0Qoqc-zOaE", "https://www.youtube.com/watch?v=f0Qoqc-zOaE", "/downloads/The Daily Show/Season 2026/s2026e072900 - Trump Gets Called "Pedophile Protector" AGAIN & Mexico Gets a New Pronunciation | The Daily Show.mp4", false, ~U[2026-07-29 01:59:27Z]] 04:38:04.613 [debug] QUERY OK source="sources" db=0.1ms idle=298.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:04.613 [debug] QUERY OK source="media_profiles" db=0.1ms idle=24.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:04.613 [debug] QUERY OK source="media_items" db=0.2ms idle=24.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226339] 04:38:04.613 [debug] Current batch of media processed. Will check again in 1000ms 04:38:05.614 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In these unseen scenes from Jordan Klepper Fingers the Pulse: Give the Man a Prize, Klepper travels to Portland, Oregon, to investigate whether Trump’s Antifa boogeyman lives inside of animal costumes. #DailyShow #JordanKlepper #Antifa #Trump #MAGA \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 198, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072900 - Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show.mp4", "id" => "5n7Jgdb5nnY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5n7Jgdb5nnY", "playlist_index" => 14, "timestamp" => 1785286045, "title" => "Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show", "upload_date" => "20260729"} 04:38:05.614 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:05.615 [debug] QUERY OK source="sources" db=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:05.623 [debug] QUERY OK source="media_items" db=7.6ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 00:47:25Z], 51] 04:38:05.633 [debug] QUERY OK source="media_items" db=10.1ms idle=312.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In these unseen scenes from Jordan Klepper Fingers the Pulse: Give the Man a Prize, Klepper travels to Portland, Oregon, to investigate whether Trump’s Antifa boogeyman lives inside of animal costumes. #DailyShow #JordanKlepper #Antifa #Trump #MAGA \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show", "1010fe52-61db-41f5-9d3e-47345080d6cc", false, 51, [], 198, false, "5n7Jgdb5nnY", "https://www.youtube.com/watch?v=5n7Jgdb5nnY", 14, "/downloads/The Daily Show/Season 2026/s2026e072900 - Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 00:47:25Z], ~U[2026-08-05 02:38:05Z], ~U[2026-08-05 02:38:05Z], "In these unseen scenes from Jordan Klepper Fingers the Pulse: Give the Man a Prize, Klepper travels to Portland, Oregon, to investigate whether Trump’s Antifa boogeyman lives inside of animal costumes. #DailyShow #JordanKlepper #Antifa #Trump #MAGA \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show", 51, 198, false, "5n7Jgdb5nnY", "https://www.youtube.com/watch?v=5n7Jgdb5nnY", "/downloads/The Daily Show/Season 2026/s2026e072900 - Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show.mp4", false, ~U[2026-07-29 00:47:25Z]] 04:38:05.634 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=316.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:05.634 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:05.635 [debug] QUERY OK source="media_items" db=0.2ms idle=19.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226340] 04:38:05.635 [debug] Current batch of media processed. Will check again in 1000ms 04:38:06.635 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "“It's really not about me, and I don't want it to be about my reaction. …in those moments it's important to put the reminder back on the work, on the question, and on the non-answers that we get.” Jon Stewart sits down with CNN's award-winning chief White House correspondent and “The Source” anchor Kaitlan Collins to discuss the White House Correspondents’ dinner and how she handles insults from the president. They talk about how the White House press corps has changed in the 10 years since she started covering Trump, reporters’ frustrations with the president’s refusal to answer questions, and the value of asking follow-up questions. Plus, Jon prepares a little roleplay to encourage Collins to give Trump a taste of his own medicine. #DailyShow #KaitlanCollins #Trump #CNN #WHCD\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 1270, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show.mp4", "id" => "wJiBtLAzKPs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wJiBtLAzKPs", "playlist_index" => 15, "timestamp" => 1785209407, "title" => "Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show", "upload_date" => "20260728"} 04:38:06.636 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:06.636 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:06.643 [debug] QUERY OK source="media_items" db=7.2ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 03:30:07Z], 51] 04:38:06.654 [debug] QUERY OK source="media_items" db=10.1ms idle=330.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["“It's really not about me, and I don't want it to be about my reaction. …in those moments it's important to put the reminder back on the work, on the question, and on the non-answers that we get.” Jon Stewart sits down with CNN's award-winning chief White House correspondent and “The Source” anchor Kaitlan Collins to discuss the White House Correspondents’ dinner and how she handles insults from the president. They talk about how the White House press corps has changed in the 10 years since she started covering Trump, reporters’ frustrations with the president’s refusal to answer questions, and the value of asking follow-up questions. Plus, Jon prepares a little roleplay to encourage Collins to give Trump a taste of his own medicine. #DailyShow #KaitlanCollins #Trump #CNN #WHCD\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show", "ea7a943d-ef76-4fb5-bace-de7f7d28f9f2", false, 51, [], 1270, false, "wJiBtLAzKPs", "https://www.youtube.com/watch?v=wJiBtLAzKPs", 15, "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 03:30:07Z], ~U[2026-08-05 02:38:06Z], ~U[2026-08-05 02:38:06Z], "“It's really not about me, and I don't want it to be about my reaction. …in those moments it's important to put the reminder back on the work, on the question, and on the non-answers that we get.” Jon Stewart sits down with CNN's award-winning chief White House correspondent and “The Source” anchor Kaitlan Collins to discuss the White House Correspondents’ dinner and how she handles insults from the president. They talk about how the White House press corps has changed in the 10 years since she started covering Trump, reporters’ frustrations with the president’s refusal to answer questions, and the value of asking follow-up questions. Plus, Jon prepares a little roleplay to encourage Collins to give Trump a taste of his own medicine. #DailyShow #KaitlanCollins #Trump #CNN #WHCD\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show", 51, 1270, false, "wJiBtLAzKPs", "https://www.youtube.com/watch?v=wJiBtLAzKPs", "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show.mp4", false, ~U[2026-07-28 03:30:07Z]] 04:38:06.654 [debug] QUERY OK source="sources" db=0.2ms idle=334.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:06.655 [debug] QUERY OK source="media_profiles" db=0.2ms idle=19.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:06.655 [debug] QUERY OK source="media_items" db=0.3ms idle=19.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226341] 04:38:06.655 [debug] Current batch of media processed. Will check again in 1000ms 04:38:07.656 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jon Stewart breaks down the rescheduled White House Correspondents' Dinner that took place over the weekend: After the original WHCD event was derailed by an attempted shooting, Trump’s defiant return to the stage featured timely references to 2016, wordy roasts that failed to pack a punch, and trailing explanations of jokes that bombed. Jon gives Trump’s speech a Comedy 101 critique and wonders which of this year’s correspondents' dinners ended more unceremoniously. #DailyShow #WHCD #Trump #JonStewart \n\n0:00 - Jon Stewart's TDS Welcome\n0:31 - President Trump Makes Jokes at White House Correspondents' Dinner\n8:00 - Jon Stewart Critiques Trump's Jokes\n15:00 -Trump Critiques His Own Joke Writers\n18:05 - Conservative Media Comments on Trump's Joke Telling\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 1331, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show.mp4", "id" => "ZF_tDPRNV5U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZF_tDPRNV5U", "playlist_index" => 16, "timestamp" => 1785207613, "title" => "Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show", "upload_date" => "20260728"} 04:38:07.657 [debug] QUERY OK source="sources" db=0.3ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:07.657 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:07.664 [debug] QUERY OK source="media_items" db=7.2ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 03:00:13Z], 51] 04:38:07.675 [debug] QUERY OK source="media_items" db=10.2ms idle=348.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jon Stewart breaks down the rescheduled White House Correspondents' Dinner that took place over the weekend: After the original WHCD event was derailed by an attempted shooting, Trump’s defiant return to the stage featured timely references to 2016, wordy roasts that failed to pack a punch, and trailing explanations of jokes that bombed. Jon gives Trump’s speech a Comedy 101 critique and wonders which of this year’s correspondents' dinners ended more unceremoniously. #DailyShow #WHCD #Trump #JonStewart \n\n0:00 - Jon Stewart's TDS Welcome\n0:31 - President Trump Makes Jokes at White House Correspondents' Dinner\n8:00 - Jon Stewart Critiques Trump's Jokes\n15:00 -Trump Critiques His Own Joke Writers\n18:05 - Conservative Media Comments on Trump's Joke Telling\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show", "e9bac7b8-b5ba-43f9-84a9-cd5525f563e2", false, 51, [], 1331, false, "ZF_tDPRNV5U", "https://www.youtube.com/watch?v=ZF_tDPRNV5U", 16, "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 03:00:13Z], ~U[2026-08-05 02:38:07Z], ~U[2026-08-05 02:38:07Z], "Jon Stewart breaks down the rescheduled White House Correspondents' Dinner that took place over the weekend: After the original WHCD event was derailed by an attempted shooting, Trump’s defiant return to the stage featured timely references to 2016, wordy roasts that failed to pack a punch, and trailing explanations of jokes that bombed. Jon gives Trump’s speech a Comedy 101 critique and wonders which of this year’s correspondents' dinners ended more unceremoniously. #DailyShow #WHCD #Trump #JonStewart \n\n0:00 - Jon Stewart's TDS Welcome\n0:31 - President Trump Makes Jokes at White House Correspondents' Dinner\n8:00 - Jon Stewart Critiques Trump's Jokes\n15:00 -Trump Critiques His Own Joke Writers\n18:05 - Conservative Media Comments on Trump's Joke Telling\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show", 51, 1331, false, "ZF_tDPRNV5U", "https://www.youtube.com/watch?v=ZF_tDPRNV5U", "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show.mp4", false, ~U[2026-07-28 03:00:13Z]] 04:38:07.675 [debug] QUERY OK source="sources" db=0.3ms idle=353.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:07.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:07.676 [debug] QUERY OK source="media_items" db=0.1ms idle=19.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226342] 04:38:07.676 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CNN's Kaitlan Collins joins Jon Stewart to discuss her relationship with the president and the tactics his administration uses to make reporting on the Oval Office more difficult. #DailyShow #KaitlanCollins #WHCD #Trump \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 374, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show.mp4", "id" => "uwzwFiK4hNY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uwzwFiK4hNY", "playlist_index" => 17, "timestamp" => 1785202258, "title" => "Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show", "upload_date" => "20260728"} 04:38:07.677 [debug] QUERY OK source="sources" db=0.9ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:07.678 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:07.685 [debug] QUERY OK source="media_items" db=7.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 01:30:58Z], 51] 04:38:07.686 [debug] QUERY OK source="media_items" db=0.6ms idle=9.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["CNN's Kaitlan Collins joins Jon Stewart to discuss her relationship with the president and the tactics his administration uses to make reporting on the Oval Office more difficult. #DailyShow #KaitlanCollins #WHCD #Trump \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show", "ad39d882-9767-4366-a08d-ca8eae263593", false, 51, [], 374, false, "uwzwFiK4hNY", "https://www.youtube.com/watch?v=uwzwFiK4hNY", 17, "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 01:30:58Z], ~U[2026-08-05 02:38:07Z], ~U[2026-08-05 02:38:07Z], "CNN's Kaitlan Collins joins Jon Stewart to discuss her relationship with the president and the tactics his administration uses to make reporting on the Oval Office more difficult. #DailyShow #KaitlanCollins #WHCD #Trump \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show", 51, 374, false, "uwzwFiK4hNY", "https://www.youtube.com/watch?v=uwzwFiK4hNY", "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show.mp4", false, ~U[2026-07-28 01:30:58Z]] 04:38:07.687 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:07.687 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:07.688 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5226343] 04:38:07.688 [debug] Current batch of media processed. Will check again in 1000ms 04:38:08.688 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jordan Klepper and Daily Show writer Jason O. Gilbert sit down for a precap of this week’s biggest stories, where they get into Trump's cruel and cringeworthy performance at the White House Correspondents' Dinner and his authorization of signs outside the Smithsonian that undermine the accuracy of its exhibits. Plus, Klepper and Gilbert discuss America's various food safety problems and disease outbreaks, how a Canadian politician was caught using AI, and the fact that (spoiler alert) the U.S. is still at war with Iran. #DailyShow #WHCD #Smithsonian #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 3033, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show.mp4", "id" => "6y36G_qL22U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6y36G_qL22U", "playlist_index" => 18, "timestamp" => 1785196963, "title" => "Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show", "upload_date" => "20260728"} 04:38:08.689 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:08.689 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:08.698 [debug] QUERY OK source="media_items" db=9.1ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 00:02:43Z], 51] 04:38:08.709 [debug] QUERY OK source="media_items" db=10.4ms idle=380.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper and Daily Show writer Jason O. Gilbert sit down for a precap of this week’s biggest stories, where they get into Trump's cruel and cringeworthy performance at the White House Correspondents' Dinner and his authorization of signs outside the Smithsonian that undermine the accuracy of its exhibits. Plus, Klepper and Gilbert discuss America's various food safety problems and disease outbreaks, how a Canadian politician was caught using AI, and the fact that (spoiler alert) the U.S. is still at war with Iran. #DailyShow #WHCD #Smithsonian #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show", "0da15177-5445-4a66-9513-a7205ca83478", false, 51, [], 3033, false, "6y36G_qL22U", "https://www.youtube.com/watch?v=6y36G_qL22U", 18, "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 00:02:43Z], ~U[2026-08-05 02:38:08Z], ~U[2026-08-05 02:38:08Z], "Jordan Klepper and Daily Show writer Jason O. Gilbert sit down for a precap of this week’s biggest stories, where they get into Trump's cruel and cringeworthy performance at the White House Correspondents' Dinner and his authorization of signs outside the Smithsonian that undermine the accuracy of its exhibits. Plus, Klepper and Gilbert discuss America's various food safety problems and disease outbreaks, how a Canadian politician was caught using AI, and the fact that (spoiler alert) the U.S. is still at war with Iran. #DailyShow #WHCD #Smithsonian #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show", 51, 3033, false, "6y36G_qL22U", "https://www.youtube.com/watch?v=6y36G_qL22U", "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show.mp4", false, ~U[2026-07-28 00:02:43Z]] 04:38:08.710 [debug] QUERY OK source="sources" db=0.2ms idle=386.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:08.710 [debug] QUERY OK source="media_profiles" db=0.1ms idle=21.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:08.710 [debug] QUERY OK source="media_items" db=0.2ms idle=21.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5222513] 04:38:08.710 [debug] Current batch of media processed. Will check again in 1000ms 04:38:09.711 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What was more useful to Ronny Chieng in college: winning a stand-up comedy competition, or getting a law degree? #AfterTheCut #DailyShow #RonnyChieng #StandUp \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "duration" => 114, "filename" => "/downloads/The Daily Show/Season 2026/s2026e072600 - Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show.mp4", "id" => "gQpYlc2TwHU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gQpYlc2TwHU", "playlist_index" => 19, "timestamp" => 1785070836, "title" => "Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show", "upload_date" => "20260726"} 04:38:09.712 [debug] QUERY OK source="sources" db=0.2ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:09.712 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:09.721 [debug] QUERY OK source="media_items" db=8.6ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:00:36Z], 51] 04:38:09.731 [debug] QUERY OK source="media_items" db=9.9ms idle=400.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What was more useful to Ronny Chieng in college: winning a stand-up comedy competition, or getting a law degree? #AfterTheCut #DailyShow #RonnyChieng #StandUp \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show", "ae33d6d0-cbe1-4915-a1de-bb9ebe5d7544", false, 51, [], 114, false, "gQpYlc2TwHU", "https://www.youtube.com/watch?v=gQpYlc2TwHU", 19, "/downloads/The Daily Show/Season 2026/s2026e072600 - Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show.mp4", false, false, 98, ~U[2026-07-26 13:00:36Z], ~U[2026-08-05 02:38:09Z], ~U[2026-08-05 02:38:09Z], "What was more useful to Ronny Chieng in college: winning a stand-up comedy competition, or getting a law degree? #AfterTheCut #DailyShow #RonnyChieng #StandUp \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show", 51, 114, false, "gQpYlc2TwHU", "https://www.youtube.com/watch?v=gQpYlc2TwHU", "/downloads/The Daily Show/Season 2026/s2026e072600 - Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show.mp4", false, ~U[2026-07-26 13:00:36Z]] 04:38:09.732 [debug] QUERY OK source="sources" db=0.2ms idle=405.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:09.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:38:09.733 [debug] QUERY OK source="media_items" db=0.2ms idle=20.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5218681] 04:38:09.733 [debug] Current batch of media processed. Will check again in 1000ms 04:38:10.086 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/thedailyshow --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/The Daily Show/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/47/06/4706e486dc7f5ecfc1d4214324e1464963632c52d4b4c0d7cdd396914399dbfd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1f/a0/1fa049a9a7ba8fbdcb92fa89b4f3d79417cc8eb8a68e0fcbcac3125fa236140a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:38:10.087 [debug] Gracefully stopping file follower 04:38:10.088 [debug] QUERY OK source="sources" db=1.3ms idle=366.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [51] 04:38:10.089 [debug] QUERY OK source="sources" db=0.1ms idle=357.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.097 [debug] QUERY OK source="media_items" db=8.1ms idle=357.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-03 13:00:19Z], 51] 04:38:10.099 [debug] QUERY OK source="media_items" db=0.9ms idle=365.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ronny Chieng and Jordan Klepper look back on 30 f**king years of The Daily Show and talk about what it's like joining as a correspondent and as a weekly host, and why field pieces remain at the heart of the show's legacy. They revisit standout moments from the archives, including Brian Unger's legendary Disney-man interview, Steve Carell and Stephen Colbert's \"Even Stevphen\" debates, and Jordan's first Trump rally piece. #DailyShow #TDS30 #JordanKlepper #RonnyChieng \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show", "49c075d3-0e96-41f0-a5b0-52d920ff25d8", false, 51, [], 3741, false, "c_A9RgCRFGg", "https://www.youtube.com/watch?v=c_A9RgCRFGg", 1, "/downloads/The Daily Show/Season 2026/s2026e080300 - 30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show.mp4", false, false, 98, ~U[2026-08-03 13:00:19Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Ronny Chieng and Jordan Klepper look back on 30 f**king years of The Daily Show and talk about what it's like joining as a correspondent and as a weekly host, and why field pieces remain at the heart of the show's legacy. They revisit standout moments from the archives, including Brian Unger's legendary Disney-man interview, Steve Carell and Stephen Colbert's \"Even Stevphen\" debates, and Jordan's first Trump rally piece. #DailyShow #TDS30 #JordanKlepper #RonnyChieng \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show", 51, 3741, false, "c_A9RgCRFGg", "https://www.youtube.com/watch?v=c_A9RgCRFGg", "/downloads/The Daily Show/Season 2026/s2026e080300 - 30 F**king Years: Ronny Chieng & Jordan Klepper on Their Daily Show Journey | The Daily Show.mp4", false, ~U[2026-08-03 13:00:19Z]] 04:38:10.099 [debug] QUERY OK source="sources" db=0.1ms idle=366.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.106 [debug] QUERY OK source="media_items" db=6.8ms idle=11.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 13:00:00Z], 51] 04:38:10.108 [debug] QUERY OK source="media_items" db=1.0ms idle=17.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jon Stewart comments on the rescheduled White House Correspondents' Dinner and Trump's failed attempt at comedy. Jordan Klepper weighs in on the president being called a \"pedophile protector\" yet again while visiting a General Motors facility in Michigan, and breaks down how the Trump administration accidentally reimagined drug trafficking. Plus, Klepper covers Lindsey Graham's funeral, the DNC getting scammed out of $29K, and the underwhelming release of Anthony Fauci's diary. #DailyShow #Trump #WHCD #LindseyGraham #Fauci\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show", "a3d0ab8f-8911-4fee-8640-7209a270e95e", false, 51, [], 2971, false, "6f7ubobdr_I", "https://www.youtube.com/watch?v=6f7ubobdr_I", 2, "/downloads/The Daily Show/Season 2026/s2026e080100 - Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show.mp4", false, false, 98, ~U[2026-08-01 13:00:00Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jon Stewart comments on the rescheduled White House Correspondents' Dinner and Trump's failed attempt at comedy. Jordan Klepper weighs in on the president being called a \"pedophile protector\" yet again while visiting a General Motors facility in Michigan, and breaks down how the Trump administration accidentally reimagined drug trafficking. Plus, Klepper covers Lindsey Graham's funeral, the DNC getting scammed out of $29K, and the underwhelming release of Anthony Fauci's diary. #DailyShow #Trump #WHCD #LindseyGraham #Fauci\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show", 51, 2971, false, "6f7ubobdr_I", "https://www.youtube.com/watch?v=6f7ubobdr_I", "/downloads/The Daily Show/Season 2026/s2026e080100 - Jon Stewart Critiques Trump's WHCD Set & Klepper Eyes Fauci's Explosive Diary | The Daily Show.mp4", false, ~U[2026-08-01 13:00:00Z]] 04:38:10.109 [debug] QUERY OK source="sources" db=1.1ms idle=10.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.117 [debug] QUERY OK source="media_items" db=7.7ms idle=10.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 11:26:33Z], 51] 04:38:10.119 [debug] QUERY OK source="media_items" db=1.0ms idle=18.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In honor of America's 250th birthday, Michael Kosta hit the streets of NYC to ask his fellow citizens a simple question: Who is the greatest American of all time? The answers poured in, and boy were they wrong. It's John Motherf**king Stamos! Luckily, Stamos himself happened to be there to help a starstruck Kosta set the record straight. Thanks, Uncle Jesse! #DailyShow #JohnStamos #UncleJesse #GreatestAmerican #FullHouse \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show", "012d8789-e41e-4eed-ae4e-4787eee683f2", false, 51, [], 238, false, "0zybOrEU8-g", "https://www.youtube.com/watch?v=0zybOrEU8-g", 3, "/downloads/The Daily Show/Season 2026/s2026e073100 - Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 11:26:33Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "In honor of America's 250th birthday, Michael Kosta hit the streets of NYC to ask his fellow citizens a simple question: Who is the greatest American of all time? The answers poured in, and boy were they wrong. It's John Motherf**king Stamos! Luckily, Stamos himself happened to be there to help a starstruck Kosta set the record straight. Thanks, Uncle Jesse! #DailyShow #JohnStamos #UncleJesse #GreatestAmerican #FullHouse \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show", 51, 238, false, "0zybOrEU8-g", "https://www.youtube.com/watch?v=0zybOrEU8-g", "/downloads/The Daily Show/Season 2026/s2026e073100 - Who's the Greatest American of All Time, and Why Is It John Stamos? Kosta Finds Out | The Daily Show.mp4", false, ~U[2026-07-31 11:26:33Z]] 04:38:10.120 [debug] QUERY OK source="sources" db=1.0ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.128 [debug] QUERY OK source="media_items" db=7.3ms idle=12.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 03:31:12Z], 51] 04:38:10.129 [debug] QUERY OK source="media_items" db=0.9ms idle=18.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["“It’s a special thing to be a 17-year-old and to feel as if you can ask questions of people in power and hopefully do some good for your community by doing so.” Theo Baker, award-winning journalist and bestselling author of \"How to Rule the World: An Education in Power at Stanford University,” chats with Jordan Klepper about his freshman year research misconduct investigation into Stanford University President Marc Tessier-Lavigne, which led to his resignation in 2023. They talk about Stanford’s “Faustian bargain” with Silicon Valley, the incredible money and power thrust into undergraduates’ hands, and how Baker convinced sources to tell a teenager their secrets. #DailyShow #TheoBaker #Stanford #SiliconValley #Journalism\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Theo Baker - Investigating Power & Influence at Stanford | The Daily Show", "d6037ef0-484d-4aae-8191-f5b46b71f3dd", false, 51, [], 648, false, "fyt0pImMtiI", "https://www.youtube.com/watch?v=fyt0pImMtiI", 4, "/downloads/The Daily Show/Season 2026/s2026e073100 - Theo Baker - Investigating Power & Influence at Stanford | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 03:31:12Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "“It’s a special thing to be a 17-year-old and to feel as if you can ask questions of people in power and hopefully do some good for your community by doing so.” Theo Baker, award-winning journalist and bestselling author of \"How to Rule the World: An Education in Power at Stanford University,” chats with Jordan Klepper about his freshman year research misconduct investigation into Stanford University President Marc Tessier-Lavigne, which led to his resignation in 2023. They talk about Stanford’s “Faustian bargain” with Silicon Valley, the incredible money and power thrust into undergraduates’ hands, and how Baker convinced sources to tell a teenager their secrets. #DailyShow #TheoBaker #Stanford #SiliconValley #Journalism\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Theo Baker - Investigating Power & Influence at Stanford | The Daily Show", 51, 648, false, "fyt0pImMtiI", "https://www.youtube.com/watch?v=fyt0pImMtiI", "/downloads/The Daily Show/Season 2026/s2026e073100 - Theo Baker - Investigating Power & Influence at Stanford | The Daily Show.mp4", false, ~U[2026-07-31 03:31:12Z]] 04:38:10.130 [debug] QUERY OK source="sources" db=1.0ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.137 [debug] QUERY OK source="media_items" db=6.8ms idle=11.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-31 02:00:51Z], 51] 04:38:10.141 [debug] QUERY OK source="media_items" db=2.5ms idle=17.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Anthony Fauci testified before the Senate in the GOP's hyperpartisan investigation into his \"megalomania\" and alleged mishandling of Covid, despite the fact that Trump admitted to having “a lot of respect for Dr. Fauci” during the pandemic. Jordan Klepper gets into the hearing’s biggest moments, including Fauci repeatedly invoking the Fifth Amendment, Senator Josh Hawley invoking Fauci’s diary entries, and one Instagram commenter invoking the eggplant emoji. #DailyShow #Fauci #COVID #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show", "bb57ce61-4eb4-4c01-95b5-823fb3db898e", false, 51, [], 748, false, "14j9b34VCJI", "https://www.youtube.com/watch?v=14j9b34VCJI", 5, "/downloads/The Daily Show/Season 2026/s2026e073100 - Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show.mp4", false, false, 96, ~U[2026-07-31 02:00:51Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Dr. Anthony Fauci testified before the Senate in the GOP's hyperpartisan investigation into his \"megalomania\" and alleged mishandling of Covid, despite the fact that Trump admitted to having “a lot of respect for Dr. Fauci” during the pandemic. Jordan Klepper gets into the hearing’s biggest moments, including Fauci repeatedly invoking the Fifth Amendment, Senator Josh Hawley invoking Fauci’s diary entries, and one Instagram commenter invoking the eggplant emoji. #DailyShow #Fauci #COVID #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show", 51, 748, false, "14j9b34VCJI", "https://www.youtube.com/watch?v=14j9b34VCJI", "/downloads/The Daily Show/Season 2026/s2026e073100 - Fauci Takes the 5th Amendment While MAGA Cracks His Diary Open & Calls Him Hitler | The Daily Show.mp4", false, ~U[2026-07-31 02:00:51Z]] 04:38:10.142 [debug] QUERY OK source="sources" db=0.9ms idle=13.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.149 [debug] QUERY OK source="media_items" db=7.0ms idle=12.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 23:10:22Z], 51] 04:38:10.150 [debug] QUERY OK source="media_items" db=0.9ms idle=18.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Fox News got a hold of Anthony Fauci's Covid-era diary, and Desi Lydic is ready to Foxsplain every evil detail. #DailyShow #Fauci #DesiLydic #Foxsplains \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show", "19de5978-d17e-439c-9d3d-0dbb0abd8e90", false, 51, [], 176, false, "tWq-1XCHME8", "https://www.youtube.com/watch?v=tWq-1XCHME8", 6, "/downloads/The Daily Show/Season 2026/s2026e073000 - Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 23:10:22Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Fox News got a hold of Anthony Fauci's Covid-era diary, and Desi Lydic is ready to Foxsplain every evil detail. #DailyShow #Fauci #DesiLydic #Foxsplains \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show", 51, 176, false, "tWq-1XCHME8", "https://www.youtube.com/watch?v=tWq-1XCHME8", "/downloads/The Daily Show/Season 2026/s2026e073000 - Desi Lydic Foxsplains Anthony Fauci's Pandemic Diary | The Daily Show.mp4", false, ~U[2026-07-30 23:10:22Z]] 04:38:10.152 [debug] QUERY OK source="sources" db=1.0ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.160 [debug] QUERY OK source="media_items" db=7.9ms idle=11.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 11:38:05Z], 51] 04:38:10.162 [debug] QUERY OK source="media_items" db=1.0ms idle=18.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["MAGA bros know the best way to honor Trump is to look just like him, which is why we're proud to introduce the Presidential Neck Vag! Made of premium, jiggle-responsive silicone, this cooter collar is the perfect accessory for your MAGA life. Whether you're crushing it at the office or just hanging with the boys, you'll look great sporting the fleshy folds of Donald Trump's iconic neck. Sorry, ladies, the Presidential Neck Vag is for alpha males ONLY. #DailyShow #Trump #bobbycannavale #Neck\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show", "ad022983-3686-4256-8f8f-994c634ebaac", false, 51, [], 205, false, "cI6kFf94svU", "https://www.youtube.com/watch?v=cI6kFf94svU", 7, "/downloads/The Daily Show/Season 2026/s2026e073000 - Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 11:38:05Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "MAGA bros know the best way to honor Trump is to look just like him, which is why we're proud to introduce the Presidential Neck Vag! Made of premium, jiggle-responsive silicone, this cooter collar is the perfect accessory for your MAGA life. Whether you're crushing it at the office or just hanging with the boys, you'll look great sporting the fleshy folds of Donald Trump's iconic neck. Sorry, ladies, the Presidential Neck Vag is for alpha males ONLY. #DailyShow #Trump #bobbycannavale #Neck\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show", 51, 205, false, "cI6kFf94svU", "https://www.youtube.com/watch?v=cI6kFf94svU", "/downloads/The Daily Show/Season 2026/s2026e073000 - Show Off Your Love for Trump with the Presidential Neck Vag! | The Daily Show.mp4", false, ~U[2026-07-30 11:38:05Z]] 04:38:10.163 [debug] QUERY OK source="sources" db=1.0ms idle=12.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.171 [debug] QUERY OK source="media_items" db=7.3ms idle=12.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 04:01:06Z], 51] 04:38:10.172 [debug] QUERY OK source="media_items" db=0.7ms idle=19.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Satanic doo-wop duo Twin Temple performs \"Haunt Me\" from their new album, \"Doomed Lovers.\" #DailyShow #TwinTemple #HauntMe #DoomedLovers\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Makes Their Late-Night Debut with \"Haunt Me\" | The Daily Show", "03e5f715-91b1-499d-99c0-f0df5e743a49", false, 51, [], 233, false, "rXabkQ2d7rU", "https://www.youtube.com/watch?v=rXabkQ2d7rU", 8, "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Makes Their Late-Night Debut with "Haunt Me" | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 04:01:06Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Satanic doo-wop duo Twin Temple performs \"Haunt Me\" from their new album, \"Doomed Lovers.\" #DailyShow #TwinTemple #HauntMe #DoomedLovers\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Makes Their Late-Night Debut with \"Haunt Me\" | The Daily Show", 51, 233, false, "rXabkQ2d7rU", "https://www.youtube.com/watch?v=rXabkQ2d7rU", "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Makes Their Late-Night Debut with "Haunt Me" | The Daily Show.mp4", false, ~U[2026-07-30 04:01:06Z]] 04:38:10.173 [debug] QUERY OK source="sources" db=0.8ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.181 [debug] QUERY OK source="media_items" db=7.7ms idle=11.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 03:29:22Z], 51] 04:38:10.182 [debug] QUERY OK source="media_items" db=0.9ms idle=18.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Satanic doo-wop band Twin Temple chats with Jordan Klepper about their upcoming new album, “Doomed Lovers.” The duo talks about working with Shooter Jennings, recording analog with a 37-piece orchestra, making national news for getting kicked off a tour for their Satanic imagery, and explains why they call their sound “Satanic doo-wop.” #DailyShow #TwinTemple #DoomedLovers #Satan \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Talk New Album “Doomed Lovers” | The Daily Show", "29a5eeff-a9ac-40a2-af61-510dc29dd2b4", false, 51, [], 573, false, "E3Wf-FIpHQA", "https://www.youtube.com/watch?v=E3Wf-FIpHQA", 9, "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Talk New Album “Doomed Lovers” | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 03:29:22Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Satanic doo-wop band Twin Temple chats with Jordan Klepper about their upcoming new album, “Doomed Lovers.” The duo talks about working with Shooter Jennings, recording analog with a 37-piece orchestra, making national news for getting kicked off a tour for their Satanic imagery, and explains why they call their sound “Satanic doo-wop.” #DailyShow #TwinTemple #DoomedLovers #Satan \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Twin Temple Talk New Album “Doomed Lovers” | The Daily Show", 51, 573, false, "E3Wf-FIpHQA", "https://www.youtube.com/watch?v=E3Wf-FIpHQA", "/downloads/The Daily Show/Season 2026/s2026e073000 - Twin Temple Talk New Album “Doomed Lovers” | The Daily Show.mp4", false, ~U[2026-07-30 03:29:22Z]] 04:38:10.183 [debug] QUERY OK source="sources" db=0.9ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.192 [debug] QUERY OK source="media_items" db=8.3ms idle=11.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 02:02:44Z], 51] 04:38:10.194 [debug] QUERY OK source="media_items" db=0.9ms idle=19.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper dives into the latest headlines: the DNC gets scammed out of $29K, Trump shades Lindsey Graham at his own funeral, Sean Hannity uses the senator's eulogy to gush about the ratings he delivered for Fox News, and America's war with Iran is back on. Plus, Troy Iwata comes to us live from Lindsey Graham's heaven, which looks suspiciously like Mar-a-Lago. #DailyShow #Trump #DNC #LindseyGraham #SeanHannity\n\n0:00 - DNC Scammed Out of $29K\n0:40 - President Trump Makes Appearance at Lindsey Graham's Funeral\n4:00 - Sean Hannity Gives Remarks at Graham's Funeral\n8:08 - Troy Iwata Comments on Graham's Funeral\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show", "03601f99-7e53-4a0c-9f58-7d9081022336", false, 51, [], 745, false, "9-Q1p74b-Xo", "https://www.youtube.com/watch?v=9-Q1p74b-Xo", 10, "/downloads/The Daily Show/Season 2026/s2026e073000 - Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show.mp4", false, false, 94, ~U[2026-07-30 02:02:44Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jordan Klepper dives into the latest headlines: the DNC gets scammed out of $29K, Trump shades Lindsey Graham at his own funeral, Sean Hannity uses the senator's eulogy to gush about the ratings he delivered for Fox News, and America's war with Iran is back on. Plus, Troy Iwata comes to us live from Lindsey Graham's heaven, which looks suspiciously like Mar-a-Lago. #DailyShow #Trump #DNC #LindseyGraham #SeanHannity\n\n0:00 - DNC Scammed Out of $29K\n0:40 - President Trump Makes Appearance at Lindsey Graham's Funeral\n4:00 - Sean Hannity Gives Remarks at Graham's Funeral\n8:08 - Troy Iwata Comments on Graham's Funeral\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show", 51, 745, false, "9-Q1p74b-Xo", "https://www.youtube.com/watch?v=9-Q1p74b-Xo", "/downloads/The Daily Show/Season 2026/s2026e073000 - Lindsey Graham Gets Eulogized, the DNC Gets Scammed & the War in Iran Gets Reheated | The Daily Show.mp4", false, ~U[2026-07-30 02:02:44Z]] 04:38:10.195 [debug] QUERY OK source="sources" db=1.1ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.203 [debug] QUERY OK source="media_items" db=8.1ms idle=13.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 11:32:47Z], 51] 04:38:10.205 [debug] QUERY OK source="media_items" db=0.9ms idle=20.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It's no secret that Americans are being recorded everywhere, all the time, but the reality is even worse than you might think. In this edition of Back in Black, Lewis Black zooms in on everyday surveillance, including creeps going viral for sneaking photos of women, kids using location-tracking apps to \"fambush\" their parents, and Kylie Jenner peddling her own line of fashion-forward AI glasses. #DailyShow #LewisBlack #MetaGlasses #AI #Meta\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to \"Fambushing\" | The Daily Show", "8db9e428-02d6-46a2-b7dc-ac3e8ee19602", false, 51, [], 328, false, "hFPMm3lwCmQ", "https://www.youtube.com/watch?v=hFPMm3lwCmQ", 11, "/downloads/The Daily Show/Season 2026/s2026e072900 - Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to "Fambushing" | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 11:32:47Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "It's no secret that Americans are being recorded everywhere, all the time, but the reality is even worse than you might think. In this edition of Back in Black, Lewis Black zooms in on everyday surveillance, including creeps going viral for sneaking photos of women, kids using location-tracking apps to \"fambush\" their parents, and Kylie Jenner peddling her own line of fashion-forward AI glasses. #DailyShow #LewisBlack #MetaGlasses #AI #Meta\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to \"Fambushing\" | The Daily Show", 51, 328, false, "hFPMm3lwCmQ", "https://www.youtube.com/watch?v=hFPMm3lwCmQ", "/downloads/The Daily Show/Season 2026/s2026e072900 - Lewis Black on How Tech Is Obliterating Privacy, from AI Glasses to "Fambushing" | The Daily Show.mp4", false, ~U[2026-07-29 11:32:47Z]] 04:38:10.206 [debug] QUERY OK source="sources" db=0.8ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.213 [debug] QUERY OK source="media_items" db=6.8ms idle=12.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 03:30:05Z], 51] 04:38:10.214 [debug] QUERY OK source="media_items" db=0.9ms idle=18.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bestselling author, comedian and Emmy-winning actor Jeff Hiller talks to fellow tall person Jordan Klepper to discuss his nomination for Outstanding Guest Actor in the Apple TV series \"Pluribus,” and how the seven-minute role could make him the Dame Judi Dench of the Emmys. They talk about his roles in two hit Apple TV shows, how he can tell which show people notice him from, his use of improv in “Widow’s Bay,” and how his “Pluribus” character embodied a human ChatGPT. #DailyShow #Pluribus #WidowsBay #Emmys\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show", "5b9a8e6d-36e6-48c3-822b-2ea9a33b1897", false, 51, [], 437, false, "cGa06f5d3zk", "https://www.youtube.com/watch?v=cGa06f5d3zk", 12, "/downloads/The Daily Show/Season 2026/s2026e072900 - Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 03:30:05Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Bestselling author, comedian and Emmy-winning actor Jeff Hiller talks to fellow tall person Jordan Klepper to discuss his nomination for Outstanding Guest Actor in the Apple TV series \"Pluribus,” and how the seven-minute role could make him the Dame Judi Dench of the Emmys. They talk about his roles in two hit Apple TV shows, how he can tell which show people notice him from, his use of improv in “Widow’s Bay,” and how his “Pluribus” character embodied a human ChatGPT. #DailyShow #Pluribus #WidowsBay #Emmys\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show", 51, 437, false, "cGa06f5d3zk", "https://www.youtube.com/watch?v=cGa06f5d3zk", "/downloads/The Daily Show/Season 2026/s2026e072900 - Jeff Hiller - Scoring an Emmy Nom for 7 Minutes in “Pluribus” | The Daily Show.mp4", false, ~U[2026-07-29 03:30:05Z]] 04:38:10.216 [debug] QUERY OK source="sources" db=1.0ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.223 [debug] QUERY OK source="media_items" db=7.2ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 01:59:27Z], 51] 04:38:10.225 [debug] QUERY OK source="media_items" db=1.0ms idle=17.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper dives into Trump getting called a pedophile protector AGAIN while speaking at a General Motors facility in Michigan, why the president decided to pronounce Mexico as \"Meheho,\" the new tariffs on Canada that ruined the opening of the Gordie Howe International Bridge, and how the Trump administration accidentally helped reimagine cocaine trafficking. Plus, Klepper visits a naked protest to find out if Antifa is dressed up as an inflatable frog. #DailyShow #GeneralMotors #Tariffs #Mexico #Cocaine \n\n0:00 - Jordan Klepper's TDS Welcome\n0:23 - President Trump Gets Called \"Pedophile Protector\" at General Motors Again\n3:45 - Gordie Howe Bridge Opens Amid Trump Tariffs\n6:18 - Trump's War on Drugs Encourages Drug Lords to Get Creative\n7:50 - Jordan Klepper Asks Citizens How Trump is Doing as President\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Gets Called \"Pedophile Protector\" AGAIN & Mexico Gets a New Pronunciation | The Daily Show", "528b7346-938d-4936-b805-d8e5b7185a1c", false, 51, [], 680, false, "f0Qoqc-zOaE", "https://www.youtube.com/watch?v=f0Qoqc-zOaE", 13, "/downloads/The Daily Show/Season 2026/s2026e072900 - Trump Gets Called "Pedophile Protector" AGAIN & Mexico Gets a New Pronunciation | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 01:59:27Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jordan Klepper dives into Trump getting called a pedophile protector AGAIN while speaking at a General Motors facility in Michigan, why the president decided to pronounce Mexico as \"Meheho,\" the new tariffs on Canada that ruined the opening of the Gordie Howe International Bridge, and how the Trump administration accidentally helped reimagine cocaine trafficking. Plus, Klepper visits a naked protest to find out if Antifa is dressed up as an inflatable frog. #DailyShow #GeneralMotors #Tariffs #Mexico #Cocaine \n\n0:00 - Jordan Klepper's TDS Welcome\n0:23 - President Trump Gets Called \"Pedophile Protector\" at General Motors Again\n3:45 - Gordie Howe Bridge Opens Amid Trump Tariffs\n6:18 - Trump's War on Drugs Encourages Drug Lords to Get Creative\n7:50 - Jordan Klepper Asks Citizens How Trump is Doing as President\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Gets Called \"Pedophile Protector\" AGAIN & Mexico Gets a New Pronunciation | The Daily Show", 51, 680, false, "f0Qoqc-zOaE", "https://www.youtube.com/watch?v=f0Qoqc-zOaE", "/downloads/The Daily Show/Season 2026/s2026e072900 - Trump Gets Called "Pedophile Protector" AGAIN & Mexico Gets a New Pronunciation | The Daily Show.mp4", false, ~U[2026-07-29 01:59:27Z]] 04:38:10.226 [debug] QUERY OK source="sources" db=0.9ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.233 [debug] QUERY OK source="media_items" db=7.0ms idle=11.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 00:47:25Z], 51] 04:38:10.235 [debug] QUERY OK source="media_items" db=0.9ms idle=17.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In these unseen scenes from Jordan Klepper Fingers the Pulse: Give the Man a Prize, Klepper travels to Portland, Oregon, to investigate whether Trump’s Antifa boogeyman lives inside of animal costumes. #DailyShow #JordanKlepper #Antifa #Trump #MAGA \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show", "1305e56b-23c4-4fa1-875a-d32739d14118", false, 51, [], 198, false, "5n7Jgdb5nnY", "https://www.youtube.com/watch?v=5n7Jgdb5nnY", 14, "/downloads/The Daily Show/Season 2026/s2026e072900 - Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show.mp4", false, false, 95, ~U[2026-07-29 00:47:25Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "In these unseen scenes from Jordan Klepper Fingers the Pulse: Give the Man a Prize, Klepper travels to Portland, Oregon, to investigate whether Trump’s Antifa boogeyman lives inside of animal costumes. #DailyShow #JordanKlepper #Antifa #Trump #MAGA \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show", 51, 198, false, "5n7Jgdb5nnY", "https://www.youtube.com/watch?v=5n7Jgdb5nnY", "/downloads/The Daily Show/Season 2026/s2026e072900 - Jordan Klepper Finds Out Why MAGA Is So Afraid of “Antifa Thugs” in Animal Costumes | The Daily Show.mp4", false, ~U[2026-07-29 00:47:25Z]] 04:38:10.236 [debug] QUERY OK source="sources" db=0.9ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.243 [debug] QUERY OK source="media_items" db=6.8ms idle=11.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 03:30:07Z], 51] 04:38:10.269 [debug] QUERY OK source="media_items" db=25.4ms idle=17.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["“It's really not about me, and I don't want it to be about my reaction. …in those moments it's important to put the reminder back on the work, on the question, and on the non-answers that we get.” Jon Stewart sits down with CNN's award-winning chief White House correspondent and “The Source” anchor Kaitlan Collins to discuss the White House Correspondents’ dinner and how she handles insults from the president. They talk about how the White House press corps has changed in the 10 years since she started covering Trump, reporters’ frustrations with the president’s refusal to answer questions, and the value of asking follow-up questions. Plus, Jon prepares a little roleplay to encourage Collins to give Trump a taste of his own medicine. #DailyShow #KaitlanCollins #Trump #CNN #WHCD\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show", "6b0e6e3d-079f-431a-8bd3-293877710522", false, 51, [], 1270, false, "wJiBtLAzKPs", "https://www.youtube.com/watch?v=wJiBtLAzKPs", 15, "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 03:30:07Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "“It's really not about me, and I don't want it to be about my reaction. …in those moments it's important to put the reminder back on the work, on the question, and on the non-answers that we get.” Jon Stewart sits down with CNN's award-winning chief White House correspondent and “The Source” anchor Kaitlan Collins to discuss the White House Correspondents’ dinner and how she handles insults from the president. They talk about how the White House press corps has changed in the 10 years since she started covering Trump, reporters’ frustrations with the president’s refusal to answer questions, and the value of asking follow-up questions. Plus, Jon prepares a little roleplay to encourage Collins to give Trump a taste of his own medicine. #DailyShow #KaitlanCollins #Trump #CNN #WHCD\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show", 51, 1270, false, "wJiBtLAzKPs", "https://www.youtube.com/watch?v=wJiBtLAzKPs", "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins - Focusing on Reporting, Not Trump’s Insults | The Daily Show.mp4", false, ~U[2026-07-28 03:30:07Z]] 04:38:10.270 [debug] QUERY OK source="sources" db=0.8ms idle=35.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.277 [debug] QUERY OK source="media_items" db=6.9ms idle=35.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 03:00:13Z], 51] 04:38:10.285 [debug] QUERY OK source="media_items" db=7.1ms idle=41.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jon Stewart breaks down the rescheduled White House Correspondents' Dinner that took place over the weekend: After the original WHCD event was derailed by an attempted shooting, Trump’s defiant return to the stage featured timely references to 2016, wordy roasts that failed to pack a punch, and trailing explanations of jokes that bombed. Jon gives Trump’s speech a Comedy 101 critique and wonders which of this year’s correspondents' dinners ended more unceremoniously. #DailyShow #WHCD #Trump #JonStewart \n\n0:00 - Jon Stewart's TDS Welcome\n0:31 - President Trump Makes Jokes at White House Correspondents' Dinner\n8:00 - Jon Stewart Critiques Trump's Jokes\n15:00 -Trump Critiques His Own Joke Writers\n18:05 - Conservative Media Comments on Trump's Joke Telling\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show", "66d77889-70e5-4d26-88ae-e1ff34ef1039", false, 51, [], 1331, false, "ZF_tDPRNV5U", "https://www.youtube.com/watch?v=ZF_tDPRNV5U", 16, "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 03:00:13Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jon Stewart breaks down the rescheduled White House Correspondents' Dinner that took place over the weekend: After the original WHCD event was derailed by an attempted shooting, Trump’s defiant return to the stage featured timely references to 2016, wordy roasts that failed to pack a punch, and trailing explanations of jokes that bombed. Jon gives Trump’s speech a Comedy 101 critique and wonders which of this year’s correspondents' dinners ended more unceremoniously. #DailyShow #WHCD #Trump #JonStewart \n\n0:00 - Jon Stewart's TDS Welcome\n0:31 - President Trump Makes Jokes at White House Correspondents' Dinner\n8:00 - Jon Stewart Critiques Trump's Jokes\n15:00 -Trump Critiques His Own Joke Writers\n18:05 - Conservative Media Comments on Trump's Joke Telling\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show", 51, 1331, false, "ZF_tDPRNV5U", "https://www.youtube.com/watch?v=ZF_tDPRNV5U", "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump Bombs at White House Correspondents' Dinner & Jon Stewart Offers Comedy Tips | The Daily Show.mp4", false, ~U[2026-07-28 03:00:13Z]] 04:38:10.286 [debug] QUERY OK source="sources" db=0.9ms idle=42.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.293 [debug] QUERY OK source="media_items" db=7.1ms idle=17.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 01:30:58Z], 51] 04:38:10.295 [debug] QUERY OK source="media_items" db=0.8ms idle=23.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["CNN's Kaitlan Collins joins Jon Stewart to discuss her relationship with the president and the tactics his administration uses to make reporting on the Oval Office more difficult. #DailyShow #KaitlanCollins #WHCD #Trump \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show", "22d7cdd7-dcb9-42fd-a78d-65e0d8144174", false, 51, [], 374, false, "uwzwFiK4hNY", "https://www.youtube.com/watch?v=uwzwFiK4hNY", 17, "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 01:30:58Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "CNN's Kaitlan Collins joins Jon Stewart to discuss her relationship with the president and the tactics his administration uses to make reporting on the Oval Office more difficult. #DailyShow #KaitlanCollins #WHCD #Trump \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show", 51, 374, false, "uwzwFiK4hNY", "https://www.youtube.com/watch?v=uwzwFiK4hNY", "/downloads/The Daily Show/Season 2026/s2026e072800 - Kaitlan Collins on How She Handles Trump’s Verbal Attacks | The Daily Show.mp4", false, ~U[2026-07-28 01:30:58Z]] 04:38:10.296 [debug] QUERY OK source="sources" db=0.8ms idle=17.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.303 [debug] QUERY OK source="media_items" db=6.9ms idle=11.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-28 00:02:43Z], 51] 04:38:10.304 [debug] QUERY OK source="media_items" db=0.9ms idle=17.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Klepper and Daily Show writer Jason O. Gilbert sit down for a precap of this week’s biggest stories, where they get into Trump's cruel and cringeworthy performance at the White House Correspondents' Dinner and his authorization of signs outside the Smithsonian that undermine the accuracy of its exhibits. Plus, Klepper and Gilbert discuss America's various food safety problems and disease outbreaks, how a Canadian politician was caught using AI, and the fact that (spoiler alert) the U.S. is still at war with Iran. #DailyShow #WHCD #Smithsonian #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show", "77f963c5-15be-4290-b912-d864d799de0a", false, 51, [], 3033, false, "6y36G_qL22U", "https://www.youtube.com/watch?v=6y36G_qL22U", 18, "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show.mp4", false, false, 95, ~U[2026-07-28 00:02:43Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jordan Klepper and Daily Show writer Jason O. Gilbert sit down for a precap of this week’s biggest stories, where they get into Trump's cruel and cringeworthy performance at the White House Correspondents' Dinner and his authorization of signs outside the Smithsonian that undermine the accuracy of its exhibits. Plus, Klepper and Gilbert discuss America's various food safety problems and disease outbreaks, how a Canadian politician was caught using AI, and the fact that (spoiler alert) the U.S. is still at war with Iran. #DailyShow #WHCD #Smithsonian #JordanKlepper \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show", 51, 3033, false, "6y36G_qL22U", "https://www.youtube.com/watch?v=6y36G_qL22U", "/downloads/The Daily Show/Season 2026/s2026e072800 - Trump’s Jokes Ooze Cruelty at WHCD & Smithsonian Gets a GOP Trigger Warning | The Daily Show.mp4", false, ~U[2026-07-28 00:02:43Z]] 04:38:10.305 [debug] QUERY OK source="sources" db=0.8ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.313 [debug] QUERY OK source="media_items" db=7.1ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:00:36Z], 51] 04:38:10.314 [debug] QUERY OK source="media_items" db=0.8ms idle=17.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What was more useful to Ronny Chieng in college: winning a stand-up comedy competition, or getting a law degree? #AfterTheCut #DailyShow #RonnyChieng #StandUp \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show", "b7d654a1-38fd-4226-b2c2-b4c57bafa563", false, 51, [], 114, false, "gQpYlc2TwHU", "https://www.youtube.com/watch?v=gQpYlc2TwHU", 19, "/downloads/The Daily Show/Season 2026/s2026e072600 - Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show.mp4", false, false, 98, ~U[2026-07-26 13:00:36Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "What was more useful to Ronny Chieng in college: winning a stand-up comedy competition, or getting a law degree? #AfterTheCut #DailyShow #RonnyChieng #StandUp \n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show", 51, 114, false, "gQpYlc2TwHU", "https://www.youtube.com/watch?v=gQpYlc2TwHU", "/downloads/The Daily Show/Season 2026/s2026e072600 - Ronny Chieng Was Almost Too Scared to Try Stand-Up Comedy - After the Cut | The Daily Show.mp4", false, ~U[2026-07-26 13:00:36Z]] 04:38:10.315 [debug] QUERY OK source="sources" db=0.8ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 04:38:10.322 [debug] QUERY OK source="media_items" db=6.7ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-25 13:00:22Z], 51] 04:38:10.324 [debug] QUERY OK source="media_items" db=1.5ms idle=9.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jon Stewart covers Trump horning in on Spain's FIFA World Cup celebration and examines how his administration's DEI-free meritocracy is really going. Desi Lydic weighs in on the president's post-World Cup tariffs on Canada, his newest bout of election fraud claims, the SAVE Act taking cues from Olive Garden, and conservatives moving the goalposts on the war in Iran. Plus, Don Jr. profits mightily from his dad’s presidency but swears he’s not the “cokehead” everyone thinks he is. #DailyShow #Iran #JonStewart #MAGA #Trump\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart on Trump's \"Meritocracy\" & Desi Lydic on MAGA Moving Iran Goalposts | The Daily Show", "05ba0086-0cb3-4ebe-9fff-b10b4579c08c", false, 51, [], 2663, false, "dZGsqV0Y4Ek", "https://www.youtube.com/watch?v=dZGsqV0Y4Ek", 20, "/downloads/The Daily Show/Season 2026/s2026e072500 - Jon Stewart on Trump's "Meritocracy" & Desi Lydic on MAGA Moving Iran Goalposts | The Daily Show.mp4", false, false, 98, ~U[2026-07-25 13:00:22Z], ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], "Jon Stewart covers Trump horning in on Spain's FIFA World Cup celebration and examines how his administration's DEI-free meritocracy is really going. Desi Lydic weighs in on the president's post-World Cup tariffs on Canada, his newest bout of election fraud claims, the SAVE Act taking cues from Olive Garden, and conservatives moving the goalposts on the war in Iran. Plus, Don Jr. profits mightily from his dad’s presidency but swears he’s not the “cokehead” everyone thinks he is. #DailyShow #Iran #JonStewart #MAGA #Trump\n\nSubscribe to The Daily Show:\nhttps://www.youtube.com/channel/UCwWhs_6x42TyRM4Wstoq8HA/?sub_confirmation=1 \n\nFollow The Daily Show:\nTwitter: https://twitter.com/TheDailyShow\nFacebook: https://www.facebook.com/thedailyshow\nInstagram: https://www.instagram.com/thedailyshow\n\nStream full episodes of The Daily Show on Paramount+: http://www.paramountplus.com/thedailyshow\n\nFollow Comedy Central:\nTwitter: https://twitter.com/ComedyCentral\nFacebook: https://www.facebook.com/ComedyCentral\nInstagram: https://www.instagram.com/comedycentral\n\nAbout The Daily Show:\nJon Stewart and The Best F**king News Team host The Daily Show, an Emmy and Peabody Award-winning program analyzing the biggest stories in news, politics, and culture through a sharp, satirical lens. The Daily Show redefined the late night show category on TV and, with an audience of over 51M across social media platforms, has become a launching pad for some of the biggest stars in entertainment. \n\nThe Daily Show airs weeknights at 11/10c on Comedy Central.", "Jon Stewart on Trump's \"Meritocracy\" & Desi Lydic on MAGA Moving Iran Goalposts | The Daily Show", 51, 2663, false, "dZGsqV0Y4Ek", "https://www.youtube.com/watch?v=dZGsqV0Y4Ek", "/downloads/The Daily Show/Season 2026/s2026e072500 - Jon Stewart on Trump's "Meritocracy" & Desi Lydic on MAGA Moving Iran Goalposts | The Daily Show.mp4", false, ~U[2026-07-25 13:00:22Z]] 04:38:10.324 [debug] QUERY OK source="sources" db=0.1ms idle=10.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z], 51] 04:38:10.332 [debug] QUERY OK source="media_items" db=7.7ms idle=9.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 04:38:10.341 [debug] QUERY OK source="media_items" db=7.9ms idle=10.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 04:38:10.342 [debug] QUERY OK source="media_items" db=0.9ms idle=16.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [51] 04:38:10.344 [debug] QUERY OK source="tasks" db=0.8ms idle=10.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133841, 51, ~U[2026-08-05 02:38:10Z], ~U[2026-08-05 02:38:10Z]] 04:38:10.345 [info] {"args":{"id":51},"id":133334,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":19057081,"event":"job:stop","queue_time":376736,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:38:17.194 [info] {"source":"oban","duration":2170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:47.198 [info] {"source":"oban","duration":2845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.456 [info] {"source":"oban","duration":126,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:17.201 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:47.204 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.457 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:17.205 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:42.514 [info] {"args":{"id":45},"id":133335,"meta":{},"system_time":1785897642514117769,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:40:42.514 [debug] QUERY OK source="sources" db=0.3ms idle=1009.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:42.515 [debug] QUERY OK source="settings" db=0.3ms idle=1003.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.526 [debug] QUERY OK source="media_items" db=10.8ms idle=8.9ms 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")))) [45] 04:40:42.527 [debug] QUERY OK source="media_items" db=0.6ms idle=12.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 04:40:42.527 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:42.527 [debug] QUERY OK source="settings" db=0.0ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.528 [debug] QUERY OK source="settings" db=0.0ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.529 [debug] QUERY OK source="media_items" db=1.1ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [45] 04:40:42.531 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 04:40:42.531 [debug] Current batch of media processed. Will check again in 1000ms 04:40:42.531 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.531 [debug] QUERY OK source="settings" db=0.0ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.531 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:42.531 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Wendoverproductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Wendover Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/18/71/187184130cd9c590f94f1e2f53bb76b7b941d93da383aac71a7073ddd06ac789.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b5/34/b534b19ff879c2c9582d7982c7a40637554ef366b22256e8cb242d025c6dcc4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:40:43.531 [debug] Current batch of media processed. Will check again in 1000ms 04:40:44.532 [debug] Current batch of media processed. Will check again in 1000ms 04:40:45.533 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1155, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e080400 - Why Texas Won’t Stop Growing.mp4", "id" => "dzmoALgtB1Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dzmoALgtB1Q", "playlist_index" => 1, "timestamp" => 1785853825, "title" => "Why Texas Won’t Stop Growing", "upload_date" => "20260804"} 04:40:45.533 [debug] QUERY OK source="sources" db=0.1ms idle=1667.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:45.534 [debug] QUERY OK source="sources" db=0.0ms idle=1025.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:45.534 [debug] QUERY OK source="media_items" db=0.2ms idle=1019.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 14:30:25Z], 45] 04:40:45.546 [debug] QUERY OK source="media_items" db=11.5ms idle=24.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Texas Won’t Stop Growing", "dd5a54fa-8761-43ee-8699-6c844ec38a3e", false, 45, [], 1155, false, "dzmoALgtB1Q", "https://www.youtube.com/watch?v=dzmoALgtB1Q", 1, "/downloads/Wendover Productions/Season 2026/s2026e080400 - Why Texas Won’t Stop Growing.mp4", false, false, 99, ~U[2026-08-04 14:30:25Z], ~U[2026-08-05 02:40:45Z], ~U[2026-08-05 02:40:45Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Texas Won’t Stop Growing", 45, 1155, false, "dzmoALgtB1Q", "https://www.youtube.com/watch?v=dzmoALgtB1Q", "/downloads/Wendover Productions/Season 2026/s2026e080400 - Why Texas Won’t Stop Growing.mp4", false, ~U[2026-08-04 14:30:25Z]] 04:40:45.546 [debug] QUERY OK source="sources" db=0.1ms idle=30.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:45.547 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:45.547 [debug] QUERY OK source="media_items" db=0.2ms idle=13.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253358] 04:40:45.547 [info] Kicking off download for media item #5253358 (dzmoALgtB1Q) 04:40:45.548 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133842, 5253358, ~U[2026-08-05 02:40:45Z], ~U[2026-08-05 02:40:45Z]] 04:40:45.548 [debug] Current batch of media processed. Will check again in 1000ms 04:40:45.554 [info] {"args":{"id":5253358},"id":133842,"meta":{},"system_time":1785897645554810238,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:40:45.555 [debug] QUERY OK source="media_items" db=0.1ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5253358] 04:40:45.555 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:40:45.555 [debug] QUERY OK source="sources" db=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:45.555 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:45.556 [debug] QUERY OK source="media_items" db=0.1ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253358] 04:40:45.556 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5253358] 04:40:45.556 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:45.556 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:45.556 [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 [] 04:40:45.557 [debug] Running yt-dlp command for action: get_downloadable_status 04:40:45.557 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:45.557 [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 [] 04:40:45.557 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:40:45.557 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dzmoALgtB1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/03/c5037e754dfa4f156e7268fd8d5ac84f397be27841bcb47591d7ea9b8beb0fb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:40:46.549 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 847, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e071500 - Why American Houses Are So Flimsy.mp4", "id" => "VuliaG_-uao", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VuliaG_-uao", "playlist_index" => 2, "timestamp" => 1784134196, "title" => "Why American Houses Are So Flimsy", "upload_date" => "20260715"} 04:40:46.549 [debug] QUERY OK source="sources" db=0.1ms idle=992.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:46.550 [debug] QUERY OK source="sources" db=0.1ms idle=992.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:46.551 [debug] QUERY OK source="media_items" db=0.8ms idle=992.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 16:49:56Z], 45] 04:40:46.553 [debug] QUERY OK source="media_items" db=2.4ms idle=40.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Houses Are So Flimsy", "42dee0ac-d8d8-4b7f-9d27-6357ad34a2bc", false, 45, [], 847, false, "VuliaG_-uao", "https://www.youtube.com/watch?v=VuliaG_-uao", 2, "/downloads/Wendover Productions/Season 2026/s2026e071500 - Why American Houses Are So Flimsy.mp4", false, false, 98, ~U[2026-07-15 16:49:56Z], ~U[2026-08-05 02:40:46Z], ~U[2026-08-05 02:40:46Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Houses Are So Flimsy", 45, 847, false, "VuliaG_-uao", "https://www.youtube.com/watch?v=VuliaG_-uao", "/downloads/Wendover Productions/Season 2026/s2026e071500 - Why American Houses Are So Flimsy.mp4", false, ~U[2026-07-15 16:49:56Z]] 04:40:46.554 [debug] QUERY OK source="sources" db=0.1ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:46.554 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:46.554 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5176148] 04:40:46.554 [debug] Current batch of media processed. Will check again in 1000ms 04:40:47.208 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:47.555 [debug] Current batch of media processed. Will check again in 1000ms 04:40:47.686 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dzmoALgtB1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/03/c5037e754dfa4f156e7268fd8d5ac84f397be27841bcb47591d7ea9b8beb0fb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:40:47.686 [error] yt-dlp download error for media item #5253358: "WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:40:47.687 [debug] QUERY OK source="media_items" db=0.5ms idle=1132.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n", ~U[2026-08-05 02:40:47Z], 5253358] 04:40:47.687 [error] yt-dlp download will not be retried: "WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:40:47.687 [info] {"args":{"id":5253358},"id":133842,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2132712,"event":"job:stop","queue_time":554366,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:40:48.556 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1112, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e063000 - How Private Equity Ruined American Youth Sports.mp4", "id" => "DPeRd48YfqY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DPeRd48YfqY", "playlist_index" => 3, "timestamp" => 1782850411, "title" => "How Private Equity Ruined American Youth Sports", "upload_date" => "20260630"} 04:40:48.556 [debug] QUERY OK source="sources" db=0.2ms idle=869.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:48.557 [debug] QUERY OK source="sources" db=0.1ms idle=869.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:48.557 [debug] QUERY OK source="media_items" db=0.6ms idle=863.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-30 20:13:31Z], 45] 04:40:48.558 [debug] QUERY OK source="media_items" db=0.7ms idle=44.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Private Equity Ruined American Youth Sports", "e4c3feb7-4fce-4843-a2ff-23c81a57ec16", false, 45, [], 1112, false, "DPeRd48YfqY", "https://www.youtube.com/watch?v=DPeRd48YfqY", 3, "/downloads/Wendover Productions/Season 2026/s2026e063000 - How Private Equity Ruined American Youth Sports.mp4", false, false, 98, ~U[2026-06-30 20:13:31Z], ~U[2026-08-05 02:40:48Z], ~U[2026-08-05 02:40:48Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Private Equity Ruined American Youth Sports", 45, 1112, false, "DPeRd48YfqY", "https://www.youtube.com/watch?v=DPeRd48YfqY", "/downloads/Wendover Productions/Season 2026/s2026e063000 - How Private Equity Ruined American Youth Sports.mp4", false, ~U[2026-06-30 20:13:31Z]] 04:40:48.559 [debug] QUERY OK source="sources" db=0.1ms idle=40.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:48.559 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:48.559 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5122170] 04:40:48.560 [debug] Current batch of media processed. Will check again in 1000ms 04:40:49.560 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1369, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e061600 - The Problem With Spirit Airlines’ Business Model.mp4", "id" => "ABRjwGo6Usg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ABRjwGo6Usg", "playlist_index" => 4, "timestamp" => 1781645520, "title" => "The Problem With Spirit Airlines’ Business Model", "upload_date" => "20260616"} 04:40:49.561 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:49.561 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:49.562 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 21:32:00Z], 45] 04:40:49.572 [debug] QUERY OK source="media_items" db=10.0ms idle=47.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Problem With Spirit Airlines’ Business Model", "92e17847-84a5-4c9e-8511-e7f7c8d6fdf2", false, 45, [], 1369, false, "ABRjwGo6Usg", "https://www.youtube.com/watch?v=ABRjwGo6Usg", 4, "/downloads/Wendover Productions/Season 2026/s2026e061600 - The Problem With Spirit Airlines’ Business Model.mp4", false, false, 98, ~U[2026-06-16 21:32:00Z], ~U[2026-08-05 02:40:49Z], ~U[2026-08-05 02:40:49Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Problem With Spirit Airlines’ Business Model", 45, 1369, false, "ABRjwGo6Usg", "https://www.youtube.com/watch?v=ABRjwGo6Usg", "/downloads/Wendover Productions/Season 2026/s2026e061600 - The Problem With Spirit Airlines’ Business Model.mp4", false, ~U[2026-06-16 21:32:00Z]] 04:40:49.572 [debug] QUERY OK source="sources" db=0.2ms idle=51.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:49.573 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:49.573 [debug] QUERY OK source="media_items" db=0.2ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5076754] 04:40:49.573 [debug] Current batch of media processed. Will check again in 1000ms 04:40:50.574 [debug] Current batch of media processed. Will check again in 1000ms 04:40:51.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1161, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e060100 - Why Fast Food Got So Expensive.mp4", "id" => "hIOW2HKgzPk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hIOW2HKgzPk", "playlist_index" => 5, "timestamp" => 1780328246, "title" => "Why Fast Food Got So Expensive", "upload_date" => "20260601"} 04:40:51.576 [debug] QUERY OK source="sources" db=0.1ms idle=709.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:51.576 [debug] QUERY OK source="sources" db=0.0ms idle=709.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:51.577 [debug] QUERY OK source="media_items" db=0.5ms idle=710.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 15:37:26Z], 45] 04:40:51.587 [debug] QUERY OK source="media_items" db=10.1ms idle=59.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Fast Food Got So Expensive", "ddb06932-e796-49e3-8c48-7d081314371f", false, 45, [], 1161, false, "hIOW2HKgzPk", "https://www.youtube.com/watch?v=hIOW2HKgzPk", 5, "/downloads/Wendover Productions/Season 2026/s2026e060100 - Why Fast Food Got So Expensive.mp4", false, false, 98, ~U[2026-06-01 15:37:26Z], ~U[2026-08-05 02:40:51Z], ~U[2026-08-05 02:40:51Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Fast Food Got So Expensive", 45, 1161, false, "hIOW2HKgzPk", "https://www.youtube.com/watch?v=hIOW2HKgzPk", "/downloads/Wendover Productions/Season 2026/s2026e060100 - Why Fast Food Got So Expensive.mp4", false, ~U[2026-06-01 15:37:26Z]] 04:40:51.588 [debug] QUERY OK source="sources" db=0.1ms idle=63.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:51.588 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:51.588 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5023385] 04:40:51.588 [debug] Current batch of media processed. Will check again in 1000ms 04:40:52.589 [debug] Current batch of media processed. Will check again in 1000ms 04:40:53.590 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1273, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e052000 - What Went Wrong With California High Speed Rail.mp4", "id" => "2NK0wBBZZ24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2NK0wBBZZ24", "playlist_index" => 6, "timestamp" => 1779287402, "title" => "What Went Wrong With California High Speed Rail", "upload_date" => "20260520"} 04:40:53.591 [debug] QUERY OK source="sources" db=0.1ms idle=724.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:53.591 [debug] QUERY OK source="sources" db=0.0ms idle=724.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:53.592 [debug] QUERY OK source="media_items" db=0.5ms idle=725.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 14:30:02Z], 45] 04:40:53.602 [debug] QUERY OK source="media_items" db=9.8ms idle=71.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "What Went Wrong With California High Speed Rail", "1fda9df1-5d2b-4da4-8255-f30be9a7cade", false, 45, [], 1273, false, "2NK0wBBZZ24", "https://www.youtube.com/watch?v=2NK0wBBZZ24", 6, "/downloads/Wendover Productions/Season 2026/s2026e052000 - What Went Wrong With California High Speed Rail.mp4", false, false, 98, ~U[2026-05-20 14:30:02Z], ~U[2026-08-05 02:40:53Z], ~U[2026-08-05 02:40:53Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "What Went Wrong With California High Speed Rail", 45, 1273, false, "2NK0wBBZZ24", "https://www.youtube.com/watch?v=2NK0wBBZZ24", "/downloads/Wendover Productions/Season 2026/s2026e052000 - What Went Wrong With California High Speed Rail.mp4", false, ~U[2026-05-20 14:30:02Z]] 04:40:53.602 [debug] QUERY OK source="sources" db=0.1ms idle=75.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:53.603 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:53.603 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4979239] 04:40:53.603 [debug] Current batch of media processed. Will check again in 1000ms 04:40:54.604 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1075, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e050500 - How Car Dealerships Scam America.mp4", "id" => "GREaEG_0Xcw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GREaEG_0Xcw", "playlist_index" => 7, "timestamp" => 1778013453, "title" => "How Car Dealerships Scam America", "upload_date" => "20260505"} 04:40:54.605 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:54.605 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:54.606 [debug] QUERY OK source="media_items" db=0.8ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 20:37:33Z], 45] 04:40:54.617 [debug] QUERY OK source="media_items" db=10.1ms idle=84.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Car Dealerships Scam America", "55d51763-0f76-422c-aae4-c69dd0618690", false, 45, [], 1075, false, "GREaEG_0Xcw", "https://www.youtube.com/watch?v=GREaEG_0Xcw", 7, "/downloads/Wendover Productions/Season 2026/s2026e050500 - How Car Dealerships Scam America.mp4", false, false, 98, ~U[2026-05-05 20:37:33Z], ~U[2026-08-05 02:40:54Z], ~U[2026-08-05 02:40:54Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Car Dealerships Scam America", 45, 1075, false, "GREaEG_0Xcw", "https://www.youtube.com/watch?v=GREaEG_0Xcw", "/downloads/Wendover Productions/Season 2026/s2026e050500 - How Car Dealerships Scam America.mp4", false, ~U[2026-05-05 20:37:33Z]] 04:40:54.617 [debug] QUERY OK source="sources" db=0.2ms idle=89.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:54.618 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:54.618 [debug] QUERY OK source="media_items" db=0.2ms idle=12.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4925330] 04:40:54.618 [debug] Current batch of media processed. Will check again in 1000ms 04:40:55.619 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1034, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e041700 - How the Iran War Spiked Oil Prices.mp4", "id" => "5qjvluMnyAw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5qjvluMnyAw", "playlist_index" => 8, "timestamp" => 1776447524, "title" => "How the Iran War Spiked Oil Prices", "upload_date" => "20260417"} 04:40:55.620 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:55.620 [debug] QUERY OK source="sources" db=0.1ms idle=1002.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:55.621 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-17 17:38:44Z], 45] 04:40:55.622 [debug] QUERY OK source="media_items" db=0.7ms idle=98.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How the Iran War Spiked Oil Prices", "c604863e-1e75-4cd0-9041-9d9d7f348404", false, 45, [], 1034, false, "5qjvluMnyAw", "https://www.youtube.com/watch?v=5qjvluMnyAw", 8, "/downloads/Wendover Productions/Season 2026/s2026e041700 - How the Iran War Spiked Oil Prices.mp4", false, false, 98, ~U[2026-04-17 17:38:44Z], ~U[2026-08-05 02:40:55Z], ~U[2026-08-05 02:40:55Z], "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How the Iran War Spiked Oil Prices", 45, 1034, false, "5qjvluMnyAw", "https://www.youtube.com/watch?v=5qjvluMnyAw", "/downloads/Wendover Productions/Season 2026/s2026e041700 - How the Iran War Spiked Oil Prices.mp4", false, ~U[2026-04-17 17:38:44Z]] 04:40:55.622 [debug] QUERY OK source="sources" db=0.2ms idle=92.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:55.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:55.623 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4861464] 04:40:55.623 [debug] Current batch of media processed. Will check again in 1000ms 04:40:56.623 [debug] Current batch of media processed. Will check again in 1000ms 04:40:57.624 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Storyblocks for sponsoring this video. Get 15% off any annual plan for a limited time, only available through this link: https://www.storyblocks.com/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1096, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e033100 - How Nike Lost Its Way.mp4", "id" => "WGhy62UZnbg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WGhy62UZnbg", "playlist_index" => 9, "timestamp" => 1774992711, "title" => "How Nike Lost Its Way", "upload_date" => "20260331"} 04:40:57.625 [debug] QUERY OK source="sources" db=0.2ms idle=758.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:57.625 [debug] QUERY OK source="sources" db=0.1ms idle=758.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:57.626 [debug] QUERY OK source="media_items" db=0.9ms idle=759.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-31 21:31:51Z], 45] 04:40:57.637 [debug] QUERY OK source="media_items" db=10.7ms idle=100.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Storyblocks for sponsoring this video. Get 15% off any annual plan for a limited time, only available through this link: https://www.storyblocks.com/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Nike Lost Its Way", "73125668-e1e0-46ab-a2b6-17d70a87ebbc", false, 45, [], 1096, false, "WGhy62UZnbg", "https://www.youtube.com/watch?v=WGhy62UZnbg", 9, "/downloads/Wendover Productions/Season 2026/s2026e033100 - How Nike Lost Its Way.mp4", false, false, 98, ~U[2026-03-31 21:31:51Z], ~U[2026-08-05 02:40:57Z], ~U[2026-08-05 02:40:57Z], "Thanks to Storyblocks for sponsoring this video. Get 15% off any annual plan for a limited time, only available through this link: https://www.storyblocks.com/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Nike Lost Its Way", 45, 1096, false, "WGhy62UZnbg", "https://www.youtube.com/watch?v=WGhy62UZnbg", "/downloads/Wendover Productions/Season 2026/s2026e033100 - How Nike Lost Its Way.mp4", false, ~U[2026-03-31 21:31:51Z]] 04:40:57.638 [debug] QUERY OK source="sources" db=0.2ms idle=105.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:57.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:57.638 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4801491] 04:40:57.638 [debug] Current batch of media processed. Will check again in 1000ms 04:40:58.639 [debug] Current batch of media processed. Will check again in 1000ms 04:40:59.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://www.cogs.us/DocumentCenter/View/10579/Flock-Safety_successful-uses \n[2] https://local12.com/news/nation-world/police-chief-gets-caught-using-license-plate-cameras-to-track-his-ex-girlfriend-228-times-arrests-charges-probation-flock-safety-follow-stalk-new-boyfriend-broke-up-out-of-town-misuse; https://www.kcrg.com/video/2024/06/24/video-north-charleston-police-officer-demoted-using-cameras-track-wife/; https://www.miamiherald.com/news/state/florida/article299881644.html; https://fox11online.com/news/crime/menasha-officer-pleads-not-guilty-to-misconduct-charge-over-ex-girlfriend-tracking-cristian-morales-license-plate-recognition-flock-restraining-order-domestic-abuse-case?utm\n[3] https://prri.org/spotlight/most-americans-distrust-u-s-immigration-and-customs-enforcement-ice-and-believe-federal-funding-increases-have-gone-too-far/?utm\n[4] https://www.documentcloud.org/documents/26209262-mobile-fortify-pta/?ref=404media.co&q=opportunity&mode=document#document/p4", "duration" => 1237, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e032400 - How ICE's Surveillance System Works.mp4", "id" => "aRUhgrqnpGY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aRUhgrqnpGY", "playlist_index" => 10, "timestamp" => 1774381803, "title" => "How ICE's Surveillance System Works", "upload_date" => "20260324"} 04:40:59.641 [debug] QUERY OK source="sources" db=0.1ms idle=774.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:40:59.641 [debug] QUERY OK source="sources" db=0.1ms idle=774.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:59.642 [debug] QUERY OK source="media_items" db=0.5ms idle=775.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-24 19:50:03Z], 45] 04:40:59.653 [debug] QUERY OK source="media_items" db=10.7ms idle=108.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://www.cogs.us/DocumentCenter/View/10579/Flock-Safety_successful-uses \n[2] https://local12.com/news/nation-world/police-chief-gets-caught-using-license-plate-cameras-to-track-his-ex-girlfriend-228-times-arrests-charges-probation-flock-safety-follow-stalk-new-boyfriend-broke-up-out-of-town-misuse; https://www.kcrg.com/video/2024/06/24/video-north-charleston-police-officer-demoted-using-cameras-track-wife/; https://www.miamiherald.com/news/state/florida/article299881644.html; https://fox11online.com/news/crime/menasha-officer-pleads-not-guilty-to-misconduct-charge-over-ex-girlfriend-tracking-cristian-morales-license-plate-recognition-flock-restraining-order-domestic-abuse-case?utm\n[3] https://prri.org/spotlight/most-americans-distrust-u-s-immigration-and-customs-enforcement-ice-and-believe-federal-funding-increases-have-gone-too-far/?utm\n[4] https://www.documentcloud.org/documents/26209262-mobile-fortify-pta/?ref=404media.co&q=opportunity&mode=document#document/p4", "How ICE's Surveillance System Works", "a9674605-404a-4e50-92b7-b2dd195cb78b", false, 45, [], 1237, false, "aRUhgrqnpGY", "https://www.youtube.com/watch?v=aRUhgrqnpGY", 10, "/downloads/Wendover Productions/Season 2026/s2026e032400 - How ICE's Surveillance System Works.mp4", false, false, 98, ~U[2026-03-24 19:50:03Z], ~U[2026-08-05 02:40:59Z], ~U[2026-08-05 02:40:59Z], "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://www.cogs.us/DocumentCenter/View/10579/Flock-Safety_successful-uses \n[2] https://local12.com/news/nation-world/police-chief-gets-caught-using-license-plate-cameras-to-track-his-ex-girlfriend-228-times-arrests-charges-probation-flock-safety-follow-stalk-new-boyfriend-broke-up-out-of-town-misuse; https://www.kcrg.com/video/2024/06/24/video-north-charleston-police-officer-demoted-using-cameras-track-wife/; https://www.miamiherald.com/news/state/florida/article299881644.html; https://fox11online.com/news/crime/menasha-officer-pleads-not-guilty-to-misconduct-charge-over-ex-girlfriend-tracking-cristian-morales-license-plate-recognition-flock-restraining-order-domestic-abuse-case?utm\n[3] https://prri.org/spotlight/most-americans-distrust-u-s-immigration-and-customs-enforcement-ice-and-believe-federal-funding-increases-have-gone-too-far/?utm\n[4] https://www.documentcloud.org/documents/26209262-mobile-fortify-pta/?ref=404media.co&q=opportunity&mode=document#document/p4", "How ICE's Surveillance System Works", 45, 1237, false, "aRUhgrqnpGY", "https://www.youtube.com/watch?v=aRUhgrqnpGY", "/downloads/Wendover Productions/Season 2026/s2026e032400 - How ICE's Surveillance System Works.mp4", false, ~U[2026-03-24 19:50:03Z]] 04:40:59.653 [debug] QUERY OK source="sources" db=0.2ms idle=113.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:40:59.654 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:40:59.654 [debug] QUERY OK source="media_items" db=0.2ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4776770] 04:40:59.654 [debug] Current batch of media processed. Will check again in 1000ms 04:41:00.458 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:00.655 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1175, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e031000 - California's Water Problem.mp4", "id" => "GeYvNkaLAqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GeYvNkaLAqA", "playlist_index" => 11, "timestamp" => 1773153018, "title" => "California's Water Problem", "upload_date" => "20260310"} 04:41:00.656 [debug] QUERY OK source="sources" db=0.2ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:00.656 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:00.657 [debug] QUERY OK source="media_items" db=1.0ms idle=197.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-10 14:30:18Z], 45] 04:41:00.659 [debug] QUERY OK source="media_items" db=0.9ms idle=122.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "California's Water Problem", "f81befcb-dc24-432c-9bec-08e14922f269", false, 45, [], 1175, false, "GeYvNkaLAqA", "https://www.youtube.com/watch?v=GeYvNkaLAqA", 11, "/downloads/Wendover Productions/Season 2026/s2026e031000 - California's Water Problem.mp4", false, false, 98, ~U[2026-03-10 14:30:18Z], ~U[2026-08-05 02:41:00Z], ~U[2026-08-05 02:41:00Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "California's Water Problem", 45, 1175, false, "GeYvNkaLAqA", "https://www.youtube.com/watch?v=GeYvNkaLAqA", "/downloads/Wendover Productions/Season 2026/s2026e031000 - California's Water Problem.mp4", false, ~U[2026-03-10 14:30:18Z]] 04:41:00.659 [debug] QUERY OK source="sources" db=0.2ms idle=118.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:00.659 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:00.660 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4728957] 04:41:00.660 [debug] Current batch of media processed. Will check again in 1000ms 04:41:01.661 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Vincent de Langen, Dominic Burgess, João Pessegueiro, Gabriel Ferreras\nIllustration by Jasmine Wei\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1014, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e022400 - How Red Bull Built Its Empire.mp4", "id" => "gokC5fXEM00", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gokC5fXEM00", "playlist_index" => 12, "timestamp" => 1771954797, "title" => "How Red Bull Built Its Empire", "upload_date" => "20260224"} 04:41:01.662 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:01.662 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:01.662 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 17:39:57Z], 45] 04:41:01.673 [debug] QUERY OK source="media_items" db=9.9ms idle=127.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Vincent de Langen, Dominic Burgess, João Pessegueiro, Gabriel Ferreras\nIllustration by Jasmine Wei\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Red Bull Built Its Empire", "f36984bc-700a-40c1-843e-f0fb983beac3", false, 45, [], 1014, false, "gokC5fXEM00", "https://www.youtube.com/watch?v=gokC5fXEM00", 12, "/downloads/Wendover Productions/Season 2026/s2026e022400 - How Red Bull Built Its Empire.mp4", false, false, 98, ~U[2026-02-24 17:39:57Z], ~U[2026-08-05 02:41:01Z], ~U[2026-08-05 02:41:01Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Vincent de Langen, Dominic Burgess, João Pessegueiro, Gabriel Ferreras\nIllustration by Jasmine Wei\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Red Bull Built Its Empire", 45, 1014, false, "gokC5fXEM00", "https://www.youtube.com/watch?v=gokC5fXEM00", "/downloads/Wendover Productions/Season 2026/s2026e022400 - How Red Bull Built Its Empire.mp4", false, ~U[2026-02-24 17:39:57Z]] 04:41:01.673 [debug] QUERY OK source="sources" db=0.2ms idle=131.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:01.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:01.674 [debug] QUERY OK source="media_items" db=0.2ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4680926] 04:41:01.674 [debug] Current batch of media processed. Will check again in 1000ms 04:41:02.675 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To learn for free on Brilliant for a full 30 days, go to http://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1067, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e021000 - The Cruise Industry's Arms Race.mp4", "id" => "7NBa5o--y3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7NBa5o--y3k", "playlist_index" => 13, "timestamp" => 1770748030, "title" => "The Cruise Industry's Arms Race", "upload_date" => "20260210"} 04:41:02.676 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:02.676 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:02.677 [debug] QUERY OK source="media_items" db=0.8ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 18:27:10Z], 45] 04:41:02.688 [debug] QUERY OK source="media_items" db=10.5ms idle=140.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To learn for free on Brilliant for a full 30 days, go to http://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cruise Industry's Arms Race", "7a38927c-9696-4e1c-9840-d454c95419e9", false, 45, [], 1067, false, "7NBa5o--y3k", "https://www.youtube.com/watch?v=7NBa5o--y3k", 13, "/downloads/Wendover Productions/Season 2026/s2026e021000 - The Cruise Industry's Arms Race.mp4", false, false, 98, ~U[2026-02-10 18:27:10Z], ~U[2026-08-05 02:41:02Z], ~U[2026-08-05 02:41:02Z], "To learn for free on Brilliant for a full 30 days, go to http://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cruise Industry's Arms Race", 45, 1067, false, "7NBa5o--y3k", "https://www.youtube.com/watch?v=7NBa5o--y3k", "/downloads/Wendover Productions/Season 2026/s2026e021000 - The Cruise Industry's Arms Race.mp4", false, ~U[2026-02-10 18:27:10Z]] 04:41:02.689 [debug] QUERY OK source="sources" db=0.2ms idle=144.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:02.689 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:02.689 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4634117] 04:41:02.690 [debug] Current batch of media processed. Will check again in 1000ms 04:41:03.690 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try Rocket Money for free: https://RocketMoney.com/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1309, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e012700 - The Cartels Running Up Transatlantic Airfares.mp4", "id" => "XcbAhYQ49_U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XcbAhYQ49_U", "playlist_index" => 14, "timestamp" => 1769528902, "title" => "The Cartels Running Up Transatlantic Airfares", "upload_date" => "20260127"} 04:41:03.691 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:03.691 [debug] QUERY OK source="sources" db=0.0ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:03.692 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 15:48:22Z], 45] 04:41:03.693 [debug] QUERY OK source="media_items" db=0.7ms idle=152.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Try Rocket Money for free: https://RocketMoney.com/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cartels Running Up Transatlantic Airfares", "413a0ae0-97ba-43ad-bc11-690c56d16926", false, 45, [], 1309, false, "XcbAhYQ49_U", "https://www.youtube.com/watch?v=XcbAhYQ49_U", 14, "/downloads/Wendover Productions/Season 2026/s2026e012700 - The Cartels Running Up Transatlantic Airfares.mp4", false, false, 98, ~U[2026-01-27 15:48:22Z], ~U[2026-08-05 02:41:03Z], ~U[2026-08-05 02:41:03Z], "Try Rocket Money for free: https://RocketMoney.com/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cartels Running Up Transatlantic Airfares", 45, 1309, false, "XcbAhYQ49_U", "https://www.youtube.com/watch?v=XcbAhYQ49_U", "/downloads/Wendover Productions/Season 2026/s2026e012700 - The Cartels Running Up Transatlantic Airfares.mp4", false, ~U[2026-01-27 15:48:22Z]] 04:41:03.693 [debug] QUERY OK source="sources" db=0.1ms idle=147.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:03.693 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:03.694 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4587702] 04:41:03.694 [debug] Current batch of media processed. Will check again in 1000ms 04:41:04.694 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1120, "filename" => "/downloads/Wendover Productions/Season 2026/s2026e011600 - Okinawa vs the US Military: The Decades-Long Feud.mp4", "id" => "624QcAMbLxI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=624QcAMbLxI", "playlist_index" => 15, "timestamp" => 1768588560, "title" => "Okinawa vs the US Military: The Decades-Long Feud", "upload_date" => "20260116"} 04:41:04.695 [debug] QUERY OK source="sources" db=0.1ms idle=1001.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:04.695 [debug] QUERY OK source="sources" db=0.1ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:04.696 [debug] QUERY OK source="media_items" db=0.6ms idle=1001.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 18:36:00Z], 45] 04:41:04.697 [debug] QUERY OK source="media_items" db=0.7ms idle=155.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Okinawa vs the US Military: The Decades-Long Feud", "65093c43-57b6-43ad-9ce8-1a0091f56613", false, 45, [], 1120, false, "624QcAMbLxI", "https://www.youtube.com/watch?v=624QcAMbLxI", 15, "/downloads/Wendover Productions/Season 2026/s2026e011600 - Okinawa vs the US Military: The Decades-Long Feud.mp4", false, false, 98, ~U[2026-01-16 18:36:00Z], ~U[2026-08-05 02:41:04Z], ~U[2026-08-05 02:41:04Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Okinawa vs the US Military: The Decades-Long Feud", 45, 1120, false, "624QcAMbLxI", "https://www.youtube.com/watch?v=624QcAMbLxI", "/downloads/Wendover Productions/Season 2026/s2026e011600 - Okinawa vs the US Military: The Decades-Long Feud.mp4", false, ~U[2026-01-16 18:36:00Z]] 04:41:04.697 [debug] QUERY OK source="sources" db=0.1ms idle=150.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:04.698 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:04.698 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4551677] 04:41:04.698 [debug] Current batch of media processed. Will check again in 1000ms 04:41:05.699 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To learn for free on Brilliant for a full 30 days, go to https://Brilliant.org/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 2262, "filename" => "/downloads/Wendover Productions/Season 2025/s2025e123100 - One Piece of News From Every Country in the World (Pt 2).mp4", "id" => "LU58bHm7GlE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LU58bHm7GlE", "playlist_index" => 16, "timestamp" => 1767205317, "title" => "One Piece of News From Every Country in the World (Pt 2)", "upload_date" => "20251231"} 04:41:05.700 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:05.700 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:05.701 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-31 18:21:57Z], 45] 04:41:05.702 [debug] QUERY OK source="media_items" db=0.7ms idle=159.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To learn for free on Brilliant for a full 30 days, go to https://Brilliant.org/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World (Pt 2)", "7277cb8e-f18f-49f6-9e0a-0b07295762b6", false, 45, [], 2262, false, "LU58bHm7GlE", "https://www.youtube.com/watch?v=LU58bHm7GlE", 16, "/downloads/Wendover Productions/Season 2025/s2025e123100 - One Piece of News From Every Country in the World (Pt 2).mp4", false, false, 98, ~U[2025-12-31 18:21:57Z], ~U[2026-08-05 02:41:05Z], ~U[2026-08-05 02:41:05Z], "To learn for free on Brilliant for a full 30 days, go to https://Brilliant.org/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World (Pt 2)", 45, 2262, false, "LU58bHm7GlE", "https://www.youtube.com/watch?v=LU58bHm7GlE", "/downloads/Wendover Productions/Season 2025/s2025e123100 - One Piece of News From Every Country in the World (Pt 2).mp4", false, ~U[2025-12-31 18:21:57Z]] 04:41:05.702 [debug] QUERY OK source="sources" db=0.1ms idle=153.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:05.702 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:05.703 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4499413] 04:41:05.703 [debug] Current batch of media processed. Will check again in 1000ms 04:41:06.704 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 2559, "filename" => "/downloads/Wendover Productions/Season 2025/s2025e122400 - One Piece of News From Every Country in the World.mp4", "id" => "fiG1MZATT3M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fiG1MZATT3M", "playlist_index" => 17, "timestamp" => 1766596498, "title" => "One Piece of News From Every Country in the World", "upload_date" => "20251224"} 04:41:06.705 [debug] QUERY OK source="sources" db=0.2ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:06.705 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:06.706 [debug] QUERY OK source="media_items" db=0.8ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 17:14:58Z], 45] 04:41:06.717 [debug] QUERY OK source="media_items" db=10.2ms idle=162.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World", "1c6c551c-2fa5-421d-9372-a92eb1e63ada", false, 45, [], 2559, false, "fiG1MZATT3M", "https://www.youtube.com/watch?v=fiG1MZATT3M", 17, "/downloads/Wendover Productions/Season 2025/s2025e122400 - One Piece of News From Every Country in the World.mp4", false, false, 98, ~U[2025-12-24 17:14:58Z], ~U[2026-08-05 02:41:06Z], ~U[2026-08-05 02:41:06Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World", 45, 2559, false, "fiG1MZATT3M", "https://www.youtube.com/watch?v=fiG1MZATT3M", "/downloads/Wendover Productions/Season 2025/s2025e122400 - One Piece of News From Every Country in the World.mp4", false, ~U[2025-12-24 17:14:58Z]] 04:41:06.717 [debug] QUERY OK source="sources" db=0.2ms idle=167.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:06.717 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:06.718 [debug] QUERY OK source="media_items" db=0.2ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4476787] 04:41:06.718 [debug] Current batch of media processed. Will check again in 1000ms 04:41:07.719 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://hensonshaving.com/wendover and enter \"Wendover\" at checkout to get 100 free blades with your purchase. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1076, "filename" => "/downloads/Wendover Productions/Season 2025/s2025e120200 - New Zealand's Australia Problem.mp4", "id" => "uBpgTgFF1ek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uBpgTgFF1ek", "playlist_index" => 18, "timestamp" => 1764706769, "title" => "New Zealand's Australia Problem", "upload_date" => "20251202"} 04:41:07.719 [debug] QUERY OK source="sources" db=0.1ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:07.720 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:07.721 [debug] QUERY OK source="media_items" db=0.9ms idle=1001.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 20:19:29Z], 45] 04:41:07.731 [debug] QUERY OK source="media_items" db=10.1ms idle=176.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://hensonshaving.com/wendover and enter \"Wendover\" at checkout to get 100 free blades with your purchase. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "New Zealand's Australia Problem", "0f3c7564-83cb-40d6-bf85-60b744d00ca1", false, 45, [], 1076, false, "uBpgTgFF1ek", "https://www.youtube.com/watch?v=uBpgTgFF1ek", 18, "/downloads/Wendover Productions/Season 2025/s2025e120200 - New Zealand's Australia Problem.mp4", false, false, 98, ~U[2025-12-02 20:19:29Z], ~U[2026-08-05 02:41:07Z], ~U[2026-08-05 02:41:07Z], "Go to https://hensonshaving.com/wendover and enter \"Wendover\" at checkout to get 100 free blades with your purchase. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "New Zealand's Australia Problem", 45, 1076, false, "uBpgTgFF1ek", "https://www.youtube.com/watch?v=uBpgTgFF1ek", "/downloads/Wendover Productions/Season 2025/s2025e120200 - New Zealand's Australia Problem.mp4", false, ~U[2025-12-02 20:19:29Z]] 04:41:07.732 [debug] QUERY OK source="sources" db=0.2ms idle=180.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:07.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:07.732 [debug] QUERY OK source="media_items" db=0.2ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405941] 04:41:07.732 [debug] Current batch of media processed. Will check again in 1000ms 04:41:08.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://projectplay.org/state-of-play-2024-participation-trends?utm_\n[2] https://footballplayershealth.harvard.edu/wp-content/uploads/2017/05/03_Exec_Summary.pdf \n[3] https://journals.sagepub.com/doi/10.1177/0363546511435626?url_ver=Z39.88-2003&rfr_id=ori:rid:crossref.org&rfr_dat=cr_pub%20%200pubmed\n[4] https://pmc.ncbi.nlm.nih.gov/articles/PMC3902856/ \n[5] https://www.washingtonpost.com/sports/interactive/2023/football-participation-decline-politics-demographics/", "duration" => 1305, "filename" => "/downloads/Wendover Productions/Season 2025/s2025e112000 - The NFL's Concussion Crisis.mp4", "id" => "EBChGfYdkh0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EBChGfYdkh0", "playlist_index" => 19, "timestamp" => 1763659919, "title" => "The NFL's Concussion Crisis", "upload_date" => "20251120"} 04:41:08.734 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:08.734 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:08.735 [debug] QUERY OK source="media_items" db=0.7ms idle=1001.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 17:31:59Z], 45] 04:41:08.745 [debug] QUERY OK source="media_items" db=10.1ms idle=189.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://projectplay.org/state-of-play-2024-participation-trends?utm_\n[2] https://footballplayershealth.harvard.edu/wp-content/uploads/2017/05/03_Exec_Summary.pdf \n[3] https://journals.sagepub.com/doi/10.1177/0363546511435626?url_ver=Z39.88-2003&rfr_id=ori:rid:crossref.org&rfr_dat=cr_pub%20%200pubmed\n[4] https://pmc.ncbi.nlm.nih.gov/articles/PMC3902856/ \n[5] https://www.washingtonpost.com/sports/interactive/2023/football-participation-decline-politics-demographics/", "The NFL's Concussion Crisis", "581c2e6f-260d-4a97-990d-ac1c4371fe6a", false, 45, [], 1305, false, "EBChGfYdkh0", "https://www.youtube.com/watch?v=EBChGfYdkh0", 19, "/downloads/Wendover Productions/Season 2025/s2025e112000 - The NFL's Concussion Crisis.mp4", false, false, 98, ~U[2025-11-20 17:31:59Z], ~U[2026-08-05 02:41:08Z], ~U[2026-08-05 02:41:08Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://projectplay.org/state-of-play-2024-participation-trends?utm_\n[2] https://footballplayershealth.harvard.edu/wp-content/uploads/2017/05/03_Exec_Summary.pdf \n[3] https://journals.sagepub.com/doi/10.1177/0363546511435626?url_ver=Z39.88-2003&rfr_id=ori:rid:crossref.org&rfr_dat=cr_pub%20%200pubmed\n[4] https://pmc.ncbi.nlm.nih.gov/articles/PMC3902856/ \n[5] https://www.washingtonpost.com/sports/interactive/2023/football-participation-decline-politics-demographics/", "The NFL's Concussion Crisis", 45, 1305, false, "EBChGfYdkh0", "https://www.youtube.com/watch?v=EBChGfYdkh0", "/downloads/Wendover Productions/Season 2025/s2025e112000 - The NFL's Concussion Crisis.mp4", false, ~U[2025-11-20 17:31:59Z]] 04:41:08.746 [debug] QUERY OK source="sources" db=0.2ms idle=193.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:08.746 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:08.746 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4367374] 04:41:08.746 [debug] Current batch of media processed. Will check again in 1000ms 04:41:09.747 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "duration" => 1133, "filename" => "/downloads/Wendover Productions/Season 2025/s2025e111200 - How Self Storage Consumed America.mp4", "id" => "uEVv8SOJ6Is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uEVv8SOJ6Is", "playlist_index" => 20, "timestamp" => 1762974139, "title" => "How Self Storage Consumed America", "upload_date" => "20251112"} 04:41:09.748 [debug] QUERY OK source="sources" db=0.1ms idle=1001.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:09.748 [debug] QUERY OK source="sources" db=0.0ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:09.749 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-12 19:02:19Z], 45] 04:41:09.759 [debug] QUERY OK source="media_items" db=9.9ms idle=201.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Self Storage Consumed America", "925d1c35-2413-415e-8dca-15caa508228b", false, 45, [], 1133, false, "uEVv8SOJ6Is", "https://www.youtube.com/watch?v=uEVv8SOJ6Is", 20, "/downloads/Wendover Productions/Season 2025/s2025e111200 - How Self Storage Consumed America.mp4", false, false, 98, ~U[2025-11-12 19:02:19Z], ~U[2026-08-05 02:41:09Z], ~U[2026-08-05 02:41:09Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Self Storage Consumed America", 45, 1133, false, "uEVv8SOJ6Is", "https://www.youtube.com/watch?v=uEVv8SOJ6Is", "/downloads/Wendover Productions/Season 2025/s2025e111200 - How Self Storage Consumed America.mp4", false, ~U[2025-11-12 19:02:19Z]] 04:41:09.760 [debug] QUERY OK source="sources" db=0.2ms idle=205.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:09.760 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:09.760 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4341923] 04:41:09.761 [debug] Current batch of media processed. Will check again in 1000ms 04:41:10.319 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Wendoverproductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Wendover Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/18/71/187184130cd9c590f94f1e2f53bb76b7b941d93da383aac71a7073ddd06ac789.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b5/34/b534b19ff879c2c9582d7982c7a40637554ef366b22256e8cb242d025c6dcc4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 04:41:10.319 [debug] Gracefully stopping file follower 04:41:10.320 [debug] QUERY OK source="sources" db=0.2ms idle=570.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 04:41:10.320 [debug] QUERY OK source="sources" db=0.0ms idle=561.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.321 [debug] QUERY OK source="media_items" db=0.5ms idle=560.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-04 14:30:25Z], 45] 04:41:10.322 [debug] QUERY OK source="media_items" db=0.5ms idle=560.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Texas Won’t Stop Growing", "a9130684-a7f4-4675-ad9e-5240bcffcd1d", false, 45, [], 1155, false, "dzmoALgtB1Q", "https://www.youtube.com/watch?v=dzmoALgtB1Q", 1, "/downloads/Wendover Productions/Season 2026/s2026e080400 - Why Texas Won’t Stop Growing.mp4", false, false, 98, ~U[2026-08-04 14:30:25Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Texas Won’t Stop Growing", 45, 1155, false, "dzmoALgtB1Q", "https://www.youtube.com/watch?v=dzmoALgtB1Q", "/downloads/Wendover Productions/Season 2026/s2026e080400 - Why Texas Won’t Stop Growing.mp4", false, ~U[2026-08-04 14:30:25Z]] 04:41:10.322 [debug] QUERY OK source="sources" db=0.1ms idle=561.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.322 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 16:49:56Z], 45] 04:41:10.323 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Houses Are So Flimsy", "632a254c-8658-49fd-90af-ff3d0ce7bbc7", false, 45, [], 847, false, "VuliaG_-uao", "https://www.youtube.com/watch?v=VuliaG_-uao", 2, "/downloads/Wendover Productions/Season 2026/s2026e071500 - Why American Houses Are So Flimsy.mp4", false, false, 98, ~U[2026-07-15 16:49:56Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Houses Are So Flimsy", 45, 847, false, "VuliaG_-uao", "https://www.youtube.com/watch?v=VuliaG_-uao", "/downloads/Wendover Productions/Season 2026/s2026e071500 - Why American Houses Are So Flimsy.mp4", false, ~U[2026-07-15 16:49:56Z]] 04:41:10.324 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.324 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-30 20:13:31Z], 45] 04:41:10.325 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Private Equity Ruined American Youth Sports", "114c4dcd-359c-40d3-aaa3-b4a878dde879", false, 45, [], 1112, false, "DPeRd48YfqY", "https://www.youtube.com/watch?v=DPeRd48YfqY", 3, "/downloads/Wendover Productions/Season 2026/s2026e063000 - How Private Equity Ruined American Youth Sports.mp4", false, false, 98, ~U[2026-06-30 20:13:31Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Private Equity Ruined American Youth Sports", 45, 1112, false, "DPeRd48YfqY", "https://www.youtube.com/watch?v=DPeRd48YfqY", "/downloads/Wendover Productions/Season 2026/s2026e063000 - How Private Equity Ruined American Youth Sports.mp4", false, ~U[2026-06-30 20:13:31Z]] 04:41:10.325 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.326 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 21:32:00Z], 45] 04:41:10.327 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Problem With Spirit Airlines’ Business Model", "c9062002-925b-4e9c-93dc-c5b330a757cd", false, 45, [], 1369, false, "ABRjwGo6Usg", "https://www.youtube.com/watch?v=ABRjwGo6Usg", 4, "/downloads/Wendover Productions/Season 2026/s2026e061600 - The Problem With Spirit Airlines’ Business Model.mp4", false, false, 98, ~U[2026-06-16 21:32:00Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Problem With Spirit Airlines’ Business Model", 45, 1369, false, "ABRjwGo6Usg", "https://www.youtube.com/watch?v=ABRjwGo6Usg", "/downloads/Wendover Productions/Season 2026/s2026e061600 - The Problem With Spirit Airlines’ Business Model.mp4", false, ~U[2026-06-16 21:32:00Z]] 04:41:10.327 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.328 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 15:37:26Z], 45] 04:41:10.330 [debug] QUERY OK source="media_items" db=1.8ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Fast Food Got So Expensive", "74b17538-4583-416b-be34-777ba7a33114", false, 45, [], 1161, false, "hIOW2HKgzPk", "https://www.youtube.com/watch?v=hIOW2HKgzPk", 5, "/downloads/Wendover Productions/Season 2026/s2026e060100 - Why Fast Food Got So Expensive.mp4", false, false, 98, ~U[2026-06-01 15:37:26Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why Fast Food Got So Expensive", 45, 1161, false, "hIOW2HKgzPk", "https://www.youtube.com/watch?v=hIOW2HKgzPk", "/downloads/Wendover Productions/Season 2026/s2026e060100 - Why Fast Food Got So Expensive.mp4", false, ~U[2026-06-01 15:37:26Z]] 04:41:10.331 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.331 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 14:30:02Z], 45] 04:41:10.332 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "What Went Wrong With California High Speed Rail", "9636ed01-fd48-46a5-b24c-c4f1e18445d8", false, 45, [], 1273, false, "2NK0wBBZZ24", "https://www.youtube.com/watch?v=2NK0wBBZZ24", 6, "/downloads/Wendover Productions/Season 2026/s2026e052000 - What Went Wrong With California High Speed Rail.mp4", false, false, 98, ~U[2026-05-20 14:30:02Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "What Went Wrong With California High Speed Rail", 45, 1273, false, "2NK0wBBZZ24", "https://www.youtube.com/watch?v=2NK0wBBZZ24", "/downloads/Wendover Productions/Season 2026/s2026e052000 - What Went Wrong With California High Speed Rail.mp4", false, ~U[2026-05-20 14:30:02Z]] 04:41:10.333 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.333 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 20:37:33Z], 45] 04:41:10.334 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Car Dealerships Scam America", "76843a9f-3ca8-469f-bfb6-2ab919a5fae6", false, 45, [], 1075, false, "GREaEG_0Xcw", "https://www.youtube.com/watch?v=GREaEG_0Xcw", 7, "/downloads/Wendover Productions/Season 2026/s2026e050500 - How Car Dealerships Scam America.mp4", false, false, 98, ~U[2026-05-05 20:37:33Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Car Dealerships Scam America", 45, 1075, false, "GREaEG_0Xcw", "https://www.youtube.com/watch?v=GREaEG_0Xcw", "/downloads/Wendover Productions/Season 2026/s2026e050500 - How Car Dealerships Scam America.mp4", false, ~U[2026-05-05 20:37:33Z]] 04:41:10.335 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.335 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-17 17:38:44Z], 45] 04:41:10.336 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How the Iran War Spiked Oil Prices", "617bd2ee-2ad6-44ca-8286-28deb174b23b", false, 45, [], 1034, false, "5qjvluMnyAw", "https://www.youtube.com/watch?v=5qjvluMnyAw", 8, "/downloads/Wendover Productions/Season 2026/s2026e041700 - How the Iran War Spiked Oil Prices.mp4", false, false, 98, ~U[2026-04-17 17:38:44Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How the Iran War Spiked Oil Prices", 45, 1034, false, "5qjvluMnyAw", "https://www.youtube.com/watch?v=5qjvluMnyAw", "/downloads/Wendover Productions/Season 2026/s2026e041700 - How the Iran War Spiked Oil Prices.mp4", false, ~U[2026-04-17 17:38:44Z]] 04:41:10.336 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.337 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 21:31:51Z], 45] 04:41:10.338 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Storyblocks for sponsoring this video. Get 15% off any annual plan for a limited time, only available through this link: https://www.storyblocks.com/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Nike Lost Its Way", "059763ae-3df1-46fa-90f9-6f31cea692a0", false, 45, [], 1096, false, "WGhy62UZnbg", "https://www.youtube.com/watch?v=WGhy62UZnbg", 9, "/downloads/Wendover Productions/Season 2026/s2026e033100 - How Nike Lost Its Way.mp4", false, false, 98, ~U[2026-03-31 21:31:51Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Thanks to Storyblocks for sponsoring this video. Get 15% off any annual plan for a limited time, only available through this link: https://www.storyblocks.com/wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Nike Lost Its Way", 45, 1096, false, "WGhy62UZnbg", "https://www.youtube.com/watch?v=WGhy62UZnbg", "/downloads/Wendover Productions/Season 2026/s2026e033100 - How Nike Lost Its Way.mp4", false, ~U[2026-03-31 21:31:51Z]] 04:41:10.338 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.339 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 19:50:03Z], 45] 04:41:10.340 [debug] QUERY OK source="media_items" db=0.8ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://www.cogs.us/DocumentCenter/View/10579/Flock-Safety_successful-uses \n[2] https://local12.com/news/nation-world/police-chief-gets-caught-using-license-plate-cameras-to-track-his-ex-girlfriend-228-times-arrests-charges-probation-flock-safety-follow-stalk-new-boyfriend-broke-up-out-of-town-misuse; https://www.kcrg.com/video/2024/06/24/video-north-charleston-police-officer-demoted-using-cameras-track-wife/; https://www.miamiherald.com/news/state/florida/article299881644.html; https://fox11online.com/news/crime/menasha-officer-pleads-not-guilty-to-misconduct-charge-over-ex-girlfriend-tracking-cristian-morales-license-plate-recognition-flock-restraining-order-domestic-abuse-case?utm\n[3] https://prri.org/spotlight/most-americans-distrust-u-s-immigration-and-customs-enforcement-ice-and-believe-federal-funding-increases-have-gone-too-far/?utm\n[4] https://www.documentcloud.org/documents/26209262-mobile-fortify-pta/?ref=404media.co&q=opportunity&mode=document#document/p4", "How ICE's Surveillance System Works", "5751a375-86c4-4949-8499-85e4dc7492c3", false, 45, [], 1237, false, "aRUhgrqnpGY", "https://www.youtube.com/watch?v=aRUhgrqnpGY", 10, "/downloads/Wendover Productions/Season 2026/s2026e032400 - How ICE's Surveillance System Works.mp4", false, false, 98, ~U[2026-03-24 19:50:03Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Exclusive NordVPN deal + 4 months extra \nhere → https://nordvpn.com/wendover\nIt’s risk-free with Nord’s 30-day money-back guarantee! \n\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://www.cogs.us/DocumentCenter/View/10579/Flock-Safety_successful-uses \n[2] https://local12.com/news/nation-world/police-chief-gets-caught-using-license-plate-cameras-to-track-his-ex-girlfriend-228-times-arrests-charges-probation-flock-safety-follow-stalk-new-boyfriend-broke-up-out-of-town-misuse; https://www.kcrg.com/video/2024/06/24/video-north-charleston-police-officer-demoted-using-cameras-track-wife/; https://www.miamiherald.com/news/state/florida/article299881644.html; https://fox11online.com/news/crime/menasha-officer-pleads-not-guilty-to-misconduct-charge-over-ex-girlfriend-tracking-cristian-morales-license-plate-recognition-flock-restraining-order-domestic-abuse-case?utm\n[3] https://prri.org/spotlight/most-americans-distrust-u-s-immigration-and-customs-enforcement-ice-and-believe-federal-funding-increases-have-gone-too-far/?utm\n[4] https://www.documentcloud.org/documents/26209262-mobile-fortify-pta/?ref=404media.co&q=opportunity&mode=document#document/p4", "How ICE's Surveillance System Works", 45, 1237, false, "aRUhgrqnpGY", "https://www.youtube.com/watch?v=aRUhgrqnpGY", "/downloads/Wendover Productions/Season 2026/s2026e032400 - How ICE's Surveillance System Works.mp4", false, ~U[2026-03-24 19:50:03Z]] 04:41:10.340 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.341 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 14:30:18Z], 45] 04:41:10.342 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "California's Water Problem", "dbc28557-e264-43e0-9630-ac79a8772dd0", false, 45, [], 1175, false, "GeYvNkaLAqA", "https://www.youtube.com/watch?v=GeYvNkaLAqA", 11, "/downloads/Wendover Productions/Season 2026/s2026e031000 - California's Water Problem.mp4", false, false, 98, ~U[2026-03-10 14:30:18Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch Day Pass: https://nebula.tv/daypass?ref=wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "California's Water Problem", 45, 1175, false, "GeYvNkaLAqA", "https://www.youtube.com/watch?v=GeYvNkaLAqA", "/downloads/Wendover Productions/Season 2026/s2026e031000 - California's Water Problem.mp4", false, ~U[2026-03-10 14:30:18Z]] 04:41:10.342 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.343 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 17:39:57Z], 45] 04:41:10.343 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Vincent de Langen, Dominic Burgess, João Pessegueiro, Gabriel Ferreras\nIllustration by Jasmine Wei\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Red Bull Built Its Empire", "899f061a-a777-4ce1-8719-710b0887332b", false, 45, [], 1014, false, "gokC5fXEM00", "https://www.youtube.com/watch?v=gokC5fXEM00", 12, "/downloads/Wendover Productions/Season 2026/s2026e022400 - How Red Bull Built Its Empire.mp4", false, false, 98, ~U[2026-02-24 17:39:57Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Vincent de Langen, Dominic Burgess, João Pessegueiro, Gabriel Ferreras\nIllustration by Jasmine Wei\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Red Bull Built Its Empire", 45, 1014, false, "gokC5fXEM00", "https://www.youtube.com/watch?v=gokC5fXEM00", "/downloads/Wendover Productions/Season 2026/s2026e022400 - How Red Bull Built Its Empire.mp4", false, ~U[2026-02-24 17:39:57Z]] 04:41:10.344 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.344 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 18:27:10Z], 45] 04:41:10.345 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To learn for free on Brilliant for a full 30 days, go to http://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cruise Industry's Arms Race", "ea7da35a-68b3-47a5-a20a-8d3ca6af766d", false, 45, [], 1067, false, "7NBa5o--y3k", "https://www.youtube.com/watch?v=7NBa5o--y3k", 13, "/downloads/Wendover Productions/Season 2026/s2026e021000 - The Cruise Industry's Arms Race.mp4", false, false, 98, ~U[2026-02-10 18:27:10Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "To learn for free on Brilliant for a full 30 days, go to http://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cruise Industry's Arms Race", 45, 1067, false, "7NBa5o--y3k", "https://www.youtube.com/watch?v=7NBa5o--y3k", "/downloads/Wendover Productions/Season 2026/s2026e021000 - The Cruise Industry's Arms Race.mp4", false, ~U[2026-02-10 18:27:10Z]] 04:41:10.346 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.346 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 15:48:22Z], 45] 04:41:10.347 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Try Rocket Money for free: https://RocketMoney.com/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cartels Running Up Transatlantic Airfares", "3014afec-e048-4c7d-aa99-1e83c421cb30", false, 45, [], 1309, false, "XcbAhYQ49_U", "https://www.youtube.com/watch?v=XcbAhYQ49_U", 14, "/downloads/Wendover Productions/Season 2026/s2026e012700 - The Cartels Running Up Transatlantic Airfares.mp4", false, false, 98, ~U[2026-01-27 15:48:22Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Try Rocket Money for free: https://RocketMoney.com/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "The Cartels Running Up Transatlantic Airfares", 45, 1309, false, "XcbAhYQ49_U", "https://www.youtube.com/watch?v=XcbAhYQ49_U", "/downloads/Wendover Productions/Season 2026/s2026e012700 - The Cartels Running Up Transatlantic Airfares.mp4", false, ~U[2026-01-27 15:48:22Z]] 04:41:10.348 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.348 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 18:36:00Z], 45] 04:41:10.349 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Okinawa vs the US Military: The Decades-Long Feud", "a2dac95f-7fbe-40d0-9680-49b49810a732", false, 45, [], 1120, false, "624QcAMbLxI", "https://www.youtube.com/watch?v=624QcAMbLxI", 15, "/downloads/Wendover Productions/Season 2026/s2026e011600 - Okinawa vs the US Military: The Decades-Long Feud.mp4", false, false, 98, ~U[2026-01-16 18:36:00Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 50% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Okinawa vs the US Military: The Decades-Long Feud", 45, 1120, false, "624QcAMbLxI", "https://www.youtube.com/watch?v=624QcAMbLxI", "/downloads/Wendover Productions/Season 2026/s2026e011600 - Okinawa vs the US Military: The Decades-Long Feud.mp4", false, ~U[2026-01-16 18:36:00Z]] 04:41:10.349 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.350 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-31 18:21:57Z], 45] 04:41:10.351 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To learn for free on Brilliant for a full 30 days, go to https://Brilliant.org/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World (Pt 2)", "abc91a5b-682f-45c9-af81-19193c869d53", false, 45, [], 2262, false, "LU58bHm7GlE", "https://www.youtube.com/watch?v=LU58bHm7GlE", 16, "/downloads/Wendover Productions/Season 2025/s2025e123100 - One Piece of News From Every Country in the World (Pt 2).mp4", false, false, 98, ~U[2025-12-31 18:21:57Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "To learn for free on Brilliant for a full 30 days, go to https://Brilliant.org/Wendover\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World (Pt 2)", 45, 2262, false, "LU58bHm7GlE", "https://www.youtube.com/watch?v=LU58bHm7GlE", "/downloads/Wendover Productions/Season 2025/s2025e123100 - One Piece of News From Every Country in the World (Pt 2).mp4", false, ~U[2025-12-31 18:21:57Z]] 04:41:10.351 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.352 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 17:14:58Z], 45] 04:41:10.353 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World", "1d6783a3-f7d7-42e5-9cb0-f1ba9a4374d6", false, 45, [], 2559, false, "fiG1MZATT3M", "https://www.youtube.com/watch?v=fiG1MZATT3M", 17, "/downloads/Wendover Productions/Season 2025/s2025e122400 - One Piece of News From Every Country in the World.mp4", false, false, 98, ~U[2025-12-24 17:14:58Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "One Piece of News From Every Country in the World", 45, 2559, false, "fiG1MZATT3M", "https://www.youtube.com/watch?v=fiG1MZATT3M", "/downloads/Wendover Productions/Season 2025/s2025e122400 - One Piece of News From Every Country in the World.mp4", false, ~U[2025-12-24 17:14:58Z]] 04:41:10.353 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.353 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 20:19:29Z], 45] 04:41:10.354 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://hensonshaving.com/wendover and enter \"Wendover\" at checkout to get 100 free blades with your purchase. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "New Zealand's Australia Problem", "809d9050-a4c7-411a-a8b6-b6b766b10ed3", false, 45, [], 1076, false, "uBpgTgFF1ek", "https://www.youtube.com/watch?v=uBpgTgFF1ek", 18, "/downloads/Wendover Productions/Season 2025/s2025e120200 - New Zealand's Australia Problem.mp4", false, false, 98, ~U[2025-12-02 20:19:29Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Go to https://hensonshaving.com/wendover and enter \"Wendover\" at checkout to get 100 free blades with your purchase. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "New Zealand's Australia Problem", 45, 1076, false, "uBpgTgFF1ek", "https://www.youtube.com/watch?v=uBpgTgFF1ek", "/downloads/Wendover Productions/Season 2025/s2025e120200 - New Zealand's Australia Problem.mp4", false, ~U[2025-12-02 20:19:29Z]] 04:41:10.355 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.355 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 17:31:59Z], 45] 04:41:10.428 [debug] QUERY OK source="media_items" db=72.0ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://projectplay.org/state-of-play-2024-participation-trends?utm_\n[2] https://footballplayershealth.harvard.edu/wp-content/uploads/2017/05/03_Exec_Summary.pdf \n[3] https://journals.sagepub.com/doi/10.1177/0363546511435626?url_ver=Z39.88-2003&rfr_id=ori:rid:crossref.org&rfr_dat=cr_pub%20%200pubmed\n[4] https://pmc.ncbi.nlm.nih.gov/articles/PMC3902856/ \n[5] https://www.washingtonpost.com/sports/interactive/2023/football-participation-decline-politics-demographics/", "The NFL's Concussion Crisis", "6bcf269d-c742-4843-9643-a4f195228854", false, 45, [], 1305, false, "EBChGfYdkh0", "https://www.youtube.com/watch?v=EBChGfYdkh0", 19, "/downloads/Wendover Productions/Season 2025/s2025e112000 - The NFL's Concussion Crisis.mp4", false, false, 98, ~U[2025-11-20 17:31:59Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster\n\nReferences\n[1] https://projectplay.org/state-of-play-2024-participation-trends?utm_\n[2] https://footballplayershealth.harvard.edu/wp-content/uploads/2017/05/03_Exec_Summary.pdf \n[3] https://journals.sagepub.com/doi/10.1177/0363546511435626?url_ver=Z39.88-2003&rfr_id=ori:rid:crossref.org&rfr_dat=cr_pub%20%200pubmed\n[4] https://pmc.ncbi.nlm.nih.gov/articles/PMC3902856/ \n[5] https://www.washingtonpost.com/sports/interactive/2023/football-participation-decline-politics-demographics/", "The NFL's Concussion Crisis", 45, 1305, false, "EBChGfYdkh0", "https://www.youtube.com/watch?v=EBChGfYdkh0", "/downloads/Wendover Productions/Season 2025/s2025e112000 - The NFL's Concussion Crisis.mp4", false, ~U[2025-11-20 17:31:59Z]] 04:41:10.428 [debug] QUERY OK source="sources" db=0.3ms idle=74.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.429 [debug] QUERY OK source="media_items" db=0.8ms idle=74.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-12 19:02:19Z], 45] 04:41:10.437 [debug] QUERY OK source="media_items" db=6.9ms idle=74.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Self Storage Consumed America", "eb25a53e-d820-406b-8f8f-3e2c0ec5981f", false, 45, [], 1133, false, "uEVv8SOJ6Is", "https://www.youtube.com/watch?v=uEVv8SOJ6Is", 20, "/downloads/Wendover Productions/Season 2025/s2025e111200 - How Self Storage Consumed America.mp4", false, false, 98, ~U[2025-11-12 19:02:19Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/wendover\nWatch the Logistics of X: https://nebula.tv/thelogisticsofx\n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Tristan Purdy and Sam Denby\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "How Self Storage Consumed America", 45, 1133, false, "uEVv8SOJ6Is", "https://www.youtube.com/watch?v=uEVv8SOJ6Is", "/downloads/Wendover Productions/Season 2025/s2025e111200 - How Self Storage Consumed America.mp4", false, ~U[2025-11-12 19:02:19Z]] 04:41:10.437 [debug] QUERY OK source="sources" db=0.3ms idle=81.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.439 [debug] QUERY OK source="media_items" db=1.3ms idle=9.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-28 19:57:31Z], 45] 04:41:10.440 [debug] QUERY OK source="media_items" db=1.1ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","prevent_download","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To learn for free on Brilliant, go to https://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Airlines Stopped Making Money", "bd962f1f-2278-4376-a04d-f618752199c8", false, 45, [], 1289, false, "3_V6HJNDjDs", "https://www.youtube.com/watch?v=3_V6HJNDjDs", 21, "/downloads/Wendover Productions/Season 2025/s2025e102800 - Why American Airlines Stopped Making Money.mp4", false, false, 98, ~U[2025-10-28 19:57:31Z], ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], "To learn for free on Brilliant, go to https://Brilliant.org/Wendover\nBrilliant’s also given our viewers 20% off an annual Premium subscription, which gives you unlimited daily access to everything on Brilliant. \n\nYoutube: http://www.YouTube.com/WendoverProductions\nInstagram: http://Instagram.com/sam.from.wendover\nTwitter: http://www.Twitter.com/WendoverPro\nSponsorship Enquiries: wendover@standard.tv\nOther emails: sam@wendover.productions\nReddit: http://Reddit.com/r/WendoverProductions\n\nWriting by Sam Denby, Tristan Purdy, and Christine Benedetti\nEditing by Alexander Williard\nAnimation by Sara Stoltman, Gabriel Ferreras, Austin Glass, and Kate Ermolenkko\nSound by Manni Simon and Dony Bullen\nThumbnail by Simon Buckmaster", "Why American Airlines Stopped Making Money", 45, 1289, false, "3_V6HJNDjDs", "https://www.youtube.com/watch?v=3_V6HJNDjDs", "/downloads/Wendover Productions/Season 2025/s2025e102800 - Why American Airlines Stopped Making Money.mp4", false, ~U[2025-10-28 19:57:31Z]] 04:41:10.441 [debug] QUERY OK source="sources" db=0.2ms idle=10.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z], 45] 04:41:10.442 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 04:41:10.444 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133843, 5253358, ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z]] 04:41:10.445 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 04:41:10.446 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 04:41:10.446 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Wendover Productions. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no 04:41:10.450 [info] {"args":{"id":5253358},"id":133843,"meta":{},"system_time":1785897670450297108,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:41:10.450 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5253358] 04:41:10.451 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:41:10.451 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 04:41:10.451 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:10.452 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5253358] 04:41:10.453 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5253358] 04:41:10.453 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:10.453 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:10.453 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:10.454 [debug] Running yt-dlp command for action: get_downloadable_status 04:41:10.454 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:10.454 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:10.455 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:10.455 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dzmoALgtB1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/dd/38dd18d19a2d15c04f7b80d4f1181be0287272bc7e500a9e235dfb71eff21994.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:41:10.741 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Wendover Productions. Downloading them now ntfys://ntfy.dumke.me:8443/pinchflat?verify=no exited: 0 with: 04:41:10.742 [info] Sent new media notification for source 45 04:41:10.743 [debug] QUERY OK source="tasks" db=0.2ms idle=288.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133844, 45, ~U[2026-08-05 02:41:10Z], ~U[2026-08-05 02:41:10Z]] 04:41:10.744 [info] {"args":{"id":45},"id":133335,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":28229669,"event":"job:stop","queue_time":289302,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 04:41:12.709 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dzmoALgtB1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/dd/38dd18d19a2d15c04f7b80d4f1181be0287272bc7e500a9e235dfb71eff21994.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args "youtube:visitor_data=XXX" ERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:41:12.709 [error] yt-dlp download error for media item #5253358: "WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:41:12.709 [error] yt-dlp download will not be retried: "WARNING: [youtube] dzmoALgtB1Q: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nWARNING: [youtube] Unable to fetch GVS PO Token for web_safari client: Missing required Visitor Data. You may need to pass Visitor Data with --extractor-args \"youtube:visitor_data=XXX\"\nERROR: [youtube] dzmoALgtB1Q: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:41:12.710 [info] {"args":{"id":5253358},"id":133843,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2259545,"event":"job:stop","queue_time":449333,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:41:13.560 [info] {"args":{"id":3646417},"id":133564,"meta":{},"system_time":1785897673560117934,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:41:13.560 [debug] QUERY OK source="media_items" db=0.1ms idle=1002.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3646417] 04:41:13.560 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:41:13.561 [debug] QUERY OK source="sources" db=0.1ms idle=850.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 04:41:13.561 [debug] QUERY OK source="media_profiles" db=0.1ms idle=844.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:13.561 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3646417] 04:41:13.571 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3646417] 04:41:13.572 [debug] QUERY OK source="media_profiles" db=0.0ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:41:13.572 [debug] QUERY OK source="settings" db=0.0ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:13.572 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:13.572 [debug] Running yt-dlp command for action: get_downloadable_status 04:41:13.573 [debug] QUERY OK source="settings" db=0.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:13.573 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:13.573 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:41:13.573 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/61/f6619ec59faff534faf6238fa20b24894f34f6969d57b3ea3b129b49b9879e85.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:41:15.183 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=wdnQDRL6vqo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/61/f6619ec59faff534faf6238fa20b24894f34f6969d57b3ea3b129b49b9879e85.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 04:41:15.183 [error] yt-dlp download error for media item #3646417: "WARNING: [youtube] wdnQDRL6vqo: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] wdnQDRL6vqo: Private video. Sign in if you've been granted access to this video. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 04:41:15.184 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3646417},"id":133564,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1623531,"event":"job:exception","queue_time":706478,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:41:17.212 [info] {"source":"oban","duration":2714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:47.214 [info] {"source":"oban","duration":2428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.459 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:17.218 [info] {"source":"oban","duration":2735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:47.220 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.460 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:17.224 [info] {"source":"oban","duration":2949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:47.226 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.461 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:17.228 [info] {"source":"oban","duration":1402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:47.230 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.462 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:17.234 [info] {"source":"oban","duration":2495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:47.236 [info] {"source":"oban","duration":1703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.463 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:17.238 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:47.239 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.464 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:17.242 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:47.243 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.465 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:17.246 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:47.248 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.466 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:17.249 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:47.251 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.467 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:17.254 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:47.256 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.468 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:17.258 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:47.260 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.469 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:17.262 [info] {"source":"oban","duration":1186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:47.265 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.470 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:17.266 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:47.269 [info] {"source":"oban","duration":2216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.471 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:17.272 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:47.274 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.472 [info] {"source":"oban","duration":47,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:17.275 [info] {"source":"oban","duration":1170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:47.277 [info] {"source":"oban","duration":1135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.473 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:17.280 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:47.281 [info] {"source":"oban","duration":1130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.474 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:17.284 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:47.285 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.475 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:17.287 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:47.290 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.476 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:17.291 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:47.294 [info] {"source":"oban","duration":1908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.477 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:17.297 [info] {"source":"oban","duration":2537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:47.300 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.478 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:17.303 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:47.307 [info] {"source":"oban","duration":3360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.479 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:17.309 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:47.312 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.480 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:17.315 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:47.317 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.481 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:17.319 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:47.322 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.482 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:17.323 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:47.326 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.483 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:17.327 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:47.329 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.484 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:17.331 [info] {"source":"oban","duration":1202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:47.334 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.485 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:17.336 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:47.339 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.486 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:17.340 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:47.343 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.487 [info] {"source":"oban","duration":53,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:17.344 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:47.346 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.488 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:17.349 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:47.352 [info] {"source":"oban","duration":3033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.489 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:17.354 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:47.357 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.490 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:17.358 [info] {"source":"oban","duration":1053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:47.361 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.491 [info] {"source":"oban","duration":116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:17.362 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:47.365 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.492 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:17.367 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:47.368 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.493 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:17.371 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:47.372 [info] {"source":"oban","duration":1197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.494 [info] {"source":"oban","duration":126,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:17.374 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:47.376 [info] {"source":"oban","duration":1122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.495 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:17.378 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:47.380 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.496 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:17.382 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:47.384 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.497 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:17.386 [info] {"source":"oban","duration":1160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:47.388 [info] {"source":"oban","duration":1169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.498 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:17.391 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:47.393 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.499 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:17.394 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:47.396 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.500 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:17.398 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:29.928 [info] GET /sources/82 05:23:29.928 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "82"} Pipelines: [:browser] 05:23:29.928 [debug] QUERY OK source="sources" db=0.1ms idle=1061.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [82] 05:23:29.929 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1061.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:29.943 [debug] QUERY OK source="tasks" db=13.9ms idle=1061.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 (?,?,?,?)) [82, "executing", "available", "scheduled", "retryable"] 05:23:29.943 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=612.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133410] 05:23:29.943 [debug] QUERY OK source="settings" db=0.0ms idle=606.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:29.944 [debug] QUERY OK source="settings" db=0.0ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:29.944 [debug] QUERY OK source="settings" db=0.0ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:29.946 [debug] QUERY OK source="sources" db=0.0ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [82] 05:23:29.946 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [82] 05:23:29.947 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [82, 10, 0] 05:23:29.947 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [82] 05:23:29.948 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [82] 05:23:29.948 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [82, 10, 0] 05:23:29.948 [debug] QUERY OK source="sources" db=0.0ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [82] 05:23:29.949 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [82] 05:23:29.949 [debug] QUERY OK source="media_items" db=0.2ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [82, 10, 0] 05:23:29.950 [info] Sent 200 in 22ms 05:23:30.417 [info] GET /sources/33 05:23:30.417 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 05:23:30.418 [debug] QUERY OK source="sources" db=0.1ms idle=468.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 05:23:30.418 [debug] QUERY OK source="media_profiles" db=0.1ms idle=468.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:30.423 [debug] QUERY OK source="tasks" db=5.4ms idle=468.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 05:23:30.424 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=92.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133342] 05:23:30.424 [debug] QUERY OK source="settings" db=0.1ms idle=86.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.424 [debug] QUERY OK source="settings" db=0.0ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.425 [debug] QUERY OK source="settings" db=0.0ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.426 [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" = ?) [33] 05:23:30.430 [debug] QUERY OK source="media_items" db=3.7ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 05:23:30.430 [debug] QUERY OK source="media_items" db=0.5ms idle=5.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 05:23:30.431 [debug] QUERY OK source="sources" db=0.1ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 05:23:30.431 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 05:23:30.432 [debug] QUERY OK source="media_items" db=0.3ms idle=5.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 ? [33, 10, 0] 05:23:30.432 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 05:23:30.432 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [33] 05:23:30.433 [debug] QUERY OK source="media_items" db=0.5ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 05:23:30.434 [info] Sent 200 in 17ms 05:23:30.917 [info] GET /sources/49/edit 05:23:30.918 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "49"} Pipelines: [:browser] 05:23:30.918 [debug] QUERY OK source="sources" db=0.1ms idle=486.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [49] 05:23:30.919 [debug] QUERY OK source="media_profiles" db=0.3ms idle=486.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" [] 05:23:30.919 [debug] QUERY OK source="settings" db=0.0ms idle=486.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.919 [debug] QUERY OK source="settings" db=0.0ms idle=486.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.919 [debug] QUERY OK source="settings" db=0.0ms idle=486.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:30.922 [info] Sent 200 in 4ms 05:23:31.418 [info] GET /sources/39 05:23:31.419 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "39"} Pipelines: [:browser] 05:23:31.419 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [39] 05:23:31.419 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:31.434 [debug] QUERY OK source="tasks" db=14.2ms idle=499.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 (?,?,?,?)) [39, "executing", "available", "scheduled", "retryable"] 05:23:31.434 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=101.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133777] 05:23:31.434 [debug] QUERY OK source="settings" db=0.0ms idle=95.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:31.435 [debug] QUERY OK source="settings" db=0.0ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:31.435 [debug] QUERY OK source="settings" db=0.0ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:31.436 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [39] 05:23:31.437 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [39] 05:23:31.438 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [39, 10, 0] 05:23:31.439 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [39] 05:23:31.440 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [39] 05:23:31.441 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [39, 10, 0] 05:23:31.441 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [39] 05:23:31.442 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [39] 05:23:31.443 [debug] QUERY OK source="media_items" db=0.9ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [39, 10, 0] 05:23:31.444 [info] Sent 200 in 25ms 05:23:31.923 [info] GET /sitemap.xml 05:23:31.923 [debug] QUERY OK source="settings" db=0.1ms idle=483.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:31.923 [debug] QUERY OK source="settings" db=0.0ms idle=482.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:31.924 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:23:31.924 [error] #PID<0.493796.0> running PinchflatWeb.Endpoint (connection #PID<0.493790.0>, stream id 6) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sitemap.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39212}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw" }, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493796.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjKx9f9EmMRv58AhLcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39212}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39212}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczN6VmhNczd0cUxHbXpuZkdWSnVtSy1a.TloRFg1xnskguK4QQ34FXsIgcJwzWwzJyAnOFYGHNKw" }, halted: false, host: "pinchflat.dumke.me", method: "GET", ow (truncated) 05:23:32.423 [info] GET /sources/39/edit 05:23:32.423 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "39"} Pipelines: [:browser] 05:23:32.424 [debug] QUERY OK source="sources" db=0.1ms idle=980.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [39] 05:23:32.424 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.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" [] 05:23:32.424 [debug] QUERY OK source="settings" db=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:32.424 [debug] QUERY OK source="settings" db=0.1ms idle=90.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:32.425 [debug] QUERY OK source="settings" db=0.0ms idle=85.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:32.426 [info] Sent 200 in 3ms 05:23:47.400 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:48.434 [info] GET /sources/76/edit 05:23:48.434 [info] GET /sources/72/edit 05:23:48.434 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "72"} Pipelines: [:browser] 05:23:48.434 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "76"} Pipelines: [:browser] 05:23:48.435 [debug] QUERY OK source="sources" db=0.2ms idle=1034.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [72] 05:23:48.435 [debug] QUERY OK source="sources" db=0.2ms idle=567.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [76] 05:23:48.435 [debug] QUERY OK source="media_profiles" db=0.2ms idle=75.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" [] 05:23:48.435 [debug] QUERY OK source="media_profiles" db=0.2ms idle=567.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:23:48.435 [debug] QUERY OK source="settings" db=0.0ms idle=69.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.435 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.436 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.436 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.436 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.436 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:48.437 [info] Sent 200 in 3ms 05:23:48.438 [info] Sent 200 in 4ms 05:23:49.370 [info] GET /sources/14 05:23:49.370 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "14"} Pipelines: [:browser] 05:23:49.371 [debug] QUERY OK source="sources" db=0.1ms idle=934.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:23:49.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=935.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:49.384 [debug] QUERY OK source="tasks" db=12.9ms idle=935.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [14, "executing", "available", "scheduled", "retryable"] 05:23:49.385 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=23.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" = ?) [133368] 05:23:49.385 [debug] QUERY OK source="settings" db=0.1ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.385 [debug] QUERY OK source="settings" db=0.0ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.385 [debug] QUERY OK source="settings" db=0.0ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.386 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 05:23:49.398 [debug] QUERY OK source="media_items" db=11.5ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [14] 05:23:49.399 [debug] QUERY OK source="media_items" db=1.0ms idle=13.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 ? [14, 10, 0] 05:23:49.400 [debug] QUERY OK source="sources" db=0.1ms idle=14.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 05:23:49.401 [debug] QUERY OK source="media_items" db=0.9ms idle=14.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [14] 05:23:49.402 [debug] QUERY OK source="media_items" db=0.5ms idle=14.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [14, 10, 0] 05:23:49.402 [debug] QUERY OK source="sources" db=0.0ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 05:23:49.403 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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] 05:23:49.403 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [14, 10, 0] 05:23:49.404 [info] Sent 200 in 33ms 05:23:49.871 [info] GET /sources/17 05:23:49.871 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 05:23:49.872 [debug] QUERY OK source="sources" db=0.1ms idle=470.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:23:49.872 [debug] QUERY OK source="media_profiles" db=0.0ms idle=470.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:49.883 [debug] QUERY OK source="tasks" db=10.7ms idle=469.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"] 05:23:49.883 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=480.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133769] 05:23:49.883 [debug] QUERY OK source="settings" db=0.0ms idle=479.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.883 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.884 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:49.884 [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] 05:23:49.887 [debug] QUERY OK source="media_items" db=2.0ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [17] 05:23:49.889 [debug] QUERY OK source="media_items" db=2.1ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 05:23:49.890 [debug] QUERY OK source="sources" db=0.0ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 05:23:49.898 [debug] QUERY OK source="media_items" db=7.8ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [17] 05:23:49.899 [debug] QUERY OK source="media_items" db=1.4ms idle=13.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 ? [17, 10, 0] 05:23:49.899 [debug] QUERY OK source="sources" db=0.0ms idle=12.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:23:49.901 [debug] QUERY OK source="media_items" db=1.3ms idle=10.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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] 05:23:49.903 [debug] QUERY OK source="media_items" db=2.2ms idle=11.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 ? [17, 10, 0] 05:23:49.905 [info] Sent 200 in 33ms 05:23:50.373 [info] GET /sources/47 05:23:50.373 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "47"} Pipelines: [:browser] 05:23:50.373 [debug] QUERY OK source="sources" db=0.1ms idle=473.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 05:23:50.373 [debug] QUERY OK source="media_profiles" db=0.0ms idle=472.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:50.386 [debug] QUERY OK source="tasks" db=11.7ms idle=470.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [47, "executing", "available", "scheduled", "retryable"] 05:23:50.386 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=24.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133840] 05:23:50.386 [debug] QUERY OK source="settings" db=0.0ms idle=18.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.386 [debug] QUERY OK source="settings" db=0.0ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.387 [debug] QUERY OK source="settings" db=0.0ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.388 [debug] QUERY OK source="sources" db=0.0ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 05:23:50.388 [debug] QUERY OK source="media_items" db=0.6ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [47] 05:23:50.389 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [47, 10, 0] 05:23:50.390 [debug] QUERY OK source="sources" db=0.0ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 05:23:50.391 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [47] 05:23:50.391 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [47, 10, 0] 05:23:50.391 [debug] QUERY OK source="sources" db=0.0ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 05:23:50.392 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [47] 05:23:50.393 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [47, 10, 0] 05:23:50.393 [info] Sent 200 in 20ms 05:23:50.880 [info] GET /sources/1 05:23:50.880 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:23:50.880 [debug] QUERY OK source="sources" db=0.1ms idle=489.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:23:50.880 [debug] QUERY OK source="media_profiles" db=0.0ms idle=489.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:23:50.892 [debug] QUERY OK source="tasks" db=11.6ms idle=489.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 05:23:50.893 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=500.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [133392] 05:23:50.893 [debug] QUERY OK source="settings" db=0.1ms idle=500.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.893 [debug] QUERY OK source="settings" db=0.0ms idle=12.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.893 [debug] QUERY OK source="settings" db=0.0ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.895 [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" = ?) [1] 05:23:50.933 [debug] QUERY OK source="media_items" db=37.9ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 05:23:50.935 [debug] QUERY OK source="media_items" db=1.3ms idle=40.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:23:50.935 [debug] QUERY OK source="sources" db=0.0ms idle=42.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:23:50.936 [debug] QUERY OK source="media_items" db=0.9ms idle=41.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 05:23:50.938 [debug] QUERY OK source="media_items" db=1.0ms idle=41.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:23:50.938 [debug] QUERY OK source="sources" db=0.0ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:23:50.939 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 05:23:50.957 [debug] QUERY OK source="media_items" db=18.2ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:23:50.958 [info] Sent 200 in 78ms 05:23:57.136 [info] GET /sources/1/edit 05:23:57.136 [info] GET /sources/47/edit 05:23:57.136 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:23:57.136 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "47"} Pipelines: [:browser] 05:23:57.136 [debug] QUERY OK source="sources" db=0.3ms idle=768.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:23:57.136 [debug] QUERY OK source="sources" db=0.3ms idle=762.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [47] 05:23:57.137 [debug] QUERY OK source="media_profiles" db=0.2ms idle=269.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" [] 05:23:57.137 [debug] QUERY OK source="media_profiles" db=0.5ms idle=269.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" [] 05:23:57.137 [debug] QUERY OK source="settings" db=0.2ms idle=270.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.137 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.137 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.138 [debug] QUERY OK source="settings" db=0.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.138 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.138 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.139 [info] Sent 200 in 3ms 05:23:57.139 [info] Sent 200 in 3ms 05:23:57.997 [info] GET /sources/29/edit 05:23:57.997 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "29"} Pipelines: [:browser] 05:23:57.997 [debug] QUERY OK source="sources" db=0.1ms idle=859.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 05:23:57.998 [debug] QUERY OK source="media_profiles" db=0.0ms idle=859.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" [] 05:23:57.998 [debug] QUERY OK source="settings" db=0.0ms idle=859.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.998 [debug] QUERY OK source="settings" db=0.0ms idle=629.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:57.998 [debug] QUERY OK source="settings" db=0.0ms idle=623.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.000 [info] Sent 200 in 2ms 05:23:58.473 [info] GET /sources/48/edit 05:23:58.473 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "48"} Pipelines: [:browser] 05:23:58.473 [debug] QUERY OK source="sources" db=0.1ms idle=475.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [48] 05:23:58.473 [debug] QUERY OK source="media_profiles" db=0.0ms idle=475.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" [] 05:23:58.473 [debug] QUERY OK source="settings" db=0.0ms idle=475.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.474 [debug] QUERY OK source="settings" db=0.0ms idle=104.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.474 [debug] QUERY OK source="settings" db=0.0ms idle=98.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.475 [info] Sent 200 in 2ms 05:23:58.973 [info] GET /sources/new 05:23:58.974 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 05:23:58.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.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" [] 05:23:58.974 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:23:58.974 [debug] QUERY OK source="settings" db=0.1ms idle=500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.975 [debug] QUERY OK source="settings" db=0.0ms idle=500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.975 [debug] QUERY OK source="settings" db=0.0ms idle=500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:58.975 [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 [] 05:23:58.977 [info] Sent 200 in 3ms 05:23:59.476 [info] GET /sources/82/edit 05:23:59.477 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "82"} Pipelines: [:browser] 05:23:59.477 [debug] QUERY OK source="sources" db=0.2ms idle=502.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [82] 05:23:59.477 [debug] QUERY OK source="media_profiles" db=0.1ms idle=502.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:23:59.477 [debug] QUERY OK source="settings" db=0.0ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:59.477 [debug] QUERY OK source="settings" db=0.0ms idle=106.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:59.478 [debug] QUERY OK source="settings" db=0.0ms idle=101.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:59.479 [info] Sent 200 in 2ms 05:24:00.501 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:17.402 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:44.546 [info] GET /sources/76/force_metadata_refresh 05:24:44.546 [info] GET /sources/14/edit 05:24:44.546 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "14"} Pipelines: [:browser] 05:24:44.547 [debug] QUERY OK source="settings" db=0.2ms idle=1679.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:44.547 [debug] QUERY OK source="sources" db=0.2ms idle=1131.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:24:44.547 [debug] QUERY OK source="settings" db=0.0ms idle=1126.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:44.547 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:24:44.547 [debug] QUERY OK source="media_profiles" db=0.0ms idle=131.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" [] 05:24:44.547 [debug] QUERY OK source="settings" db=0.0ms idle=125.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:44.547 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:44.547 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:44.547 [error] #PID<0.493823.0> running PinchflatWeb.Endpoint (connection #PID<0.493821.0>, stream id 1) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/76/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/76/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42838}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493823.0>, params: %{}, path_info: ["sources", "76", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/76/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK2MCqBsnU2D0Aba_C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42838}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/76/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42838}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493823.0>, params: %{}, path_info: ["sources", "76", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, (truncated) 05:24:44.549 [info] Sent 200 in 2ms 05:24:45.423 [info] {"args":{"id":4336580},"id":133376,"meta":{},"system_time":1785900285423347858,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:24:45.433 [debug] QUERY OK source="media_items" db=9.7ms idle=876.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4336580] 05:24:45.433 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:24:45.434 [debug] QUERY OK source="sources" db=0.9ms idle=886.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 05:24:45.435 [debug] QUERY OK source="media_profiles" db=0.7ms idle=886.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:24:45.436 [debug] QUERY OK source="media_items" db=0.6ms idle=18.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4336580] 05:24:45.437 [debug] QUERY OK source="media_metadata" db=0.1ms idle=13.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4336580] 05:24:45.437 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:24:45.437 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:45.437 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:45.437 [debug] Running yt-dlp command for action: get_downloadable_status 05:24:45.438 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:45.438 [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 [] 05:24:45.438 [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 [] 05:24:45.438 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/74/3d7464b048149b8aab1de3b1567f4741b21fbc7e6e8d8ae0a278f5e080c7f449.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:24:46.836 [info] GET /sources/49/force_metadata_refresh 05:24:46.836 [debug] QUERY OK source="settings" db=0.1ms idle=1398.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:46.837 [debug] QUERY OK source="settings" db=0.0ms idle=1398.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:46.837 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:24:46.837 [error] #PID<0.493829.0> running PinchflatWeb.Endpoint (connection #PID<0.493820.0>, stream id 2) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/49/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/49/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42840}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4" }, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493829.0>, params: %{}, path_info: ["sources", "49", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/49/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK2UkoQKxlyH4AhL5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42840}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/49/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 42840}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc04yT3JmazNWTXVmTG5yaFRKbGpfM3ZS.NmOjRD1_o2x1oztUt4k0rhH3_pxi8cIHdR_K4CndRV4", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AA (truncated) 05:24:47.405 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:47.661 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7nAIsnn_2Io --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/74/3d7464b048149b8aab1de3b1567f4741b21fbc7e6e8d8ae0a278f5e080c7f449.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) ERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more 05:24:47.661 [error] yt-dlp download error for media item #4336580: "WARNING: [youtube] 7nAIsnn_2Io: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by )\nERROR: [youtube] 7nAIsnn_2Io: This video is age-restricted and only available on YouTube. Learn more\n" 05:24:47.662 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4336580},"id":133376,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2238625,"event":"job:exception","queue_time":875537,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:24:51.675 [info] GET /sources/17/edit 05:24:51.675 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 05:24:51.676 [debug] QUERY OK source="sources" db=0.2ms idle=808.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:24:51.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=809.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" [] 05:24:51.677 [debug] QUERY OK source="settings" db=0.2ms idle=809.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:51.677 [debug] QUERY OK source="settings" db=0.0ms idle=253.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:51.678 [debug] QUERY OK source="settings" db=0.1ms idle=247.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:51.680 [info] Sent 200 in 5ms 05:24:52.177 [info] GET /sources/57/edit 05:24:52.177 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "57"} Pipelines: [:browser] 05:24:52.178 [debug] QUERY OK source="sources" db=0.2ms idle=501.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 05:24:52.178 [debug] QUERY OK source="media_profiles" db=0.2ms idle=501.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:24:52.179 [debug] QUERY OK source="settings" db=0.3ms idle=501.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:52.179 [debug] QUERY OK source="settings" db=0.2ms idle=502.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:52.180 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:24:52.182 [info] Sent 200 in 4ms 05:24:53.216 [info] GET /sources/55/edit 05:24:53.216 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "55"} Pipelines: [:browser] 05:24:53.217 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1037.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:24:53.217 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=1037.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" [] 05:24:53.217 [debug] QUERY OK source="settings" db=0.0ms idle=1037.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:53.218 [debug] QUERY OK source="settings" db=0.2ms idle=792.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:53.218 [debug] QUERY OK source="settings" db=0.1ms idle=786.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:53.221 [info] Sent 200 in 5ms 05:25:00.502 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:05.135 [info] GET /sources/57/force_metadata_refresh 05:25:05.135 [info] GET /media_profiles/1 05:25:05.135 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:25:05.136 [debug] QUERY OK source="settings" db=0.6ms idle=1267.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.136 [debug] QUERY OK source="settings" db=0.2ms idle=690.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.136 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:05.136 [debug] QUERY OK source="media_profiles" db=0.4ms idle=685.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:25:05.137 [error] #PID<0.493835.0> running PinchflatWeb.Endpoint (connection #PID<0.493834.0>, stream id 1) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/57/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/57/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493834.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39380}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493835.0>, params: %{}, path_info: ["sources", "57", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/57/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK3YvVJ3YEGjMAhMAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493834.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39380}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493834.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39380}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493835.0>, params: %{}, path_info: ["sources", "57", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, (truncated) 05:25:05.147 [debug] QUERY OK source="sources" db=10.9ms idle=269.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 05:25:05.149 [debug] QUERY OK source="settings" db=0.4ms idle=281.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.150 [debug] QUERY OK source="settings" db=0.3ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.150 [debug] QUERY OK source="settings" db=0.2ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.153 [info] Sent 200 in 17ms 05:25:05.718 [info] GET /sources/55/force_metadata_refresh 05:25:05.718 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=569.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.719 [debug] QUERY OK source="settings" db=0.2ms idle=568.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:05.719 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:05.719 [error] #PID<0.493837.0> running PinchflatWeb.Endpoint (connection #PID<0.493833.0>, stream id 2) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/55/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/55/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493837.0>, params: %{}, path_info: ["sources", "55", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/55/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK3a6XGL4EpCgAhMCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AA (truncated) 05:25:06.227 [info] GET /sources/29/force_metadata_refresh 05:25:06.228 [debug] QUERY OK source="settings" db=0.2ms idle=1077.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:06.228 [debug] QUERY OK source="settings" db=0.0ms idle=781.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:06.228 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:06.229 [error] #PID<0.493838.0> running PinchflatWeb.Endpoint (connection #PID<0.493833.0>, stream id 3) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/29/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/29/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/29/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493838.0>, params: %{}, path_info: ["sources", "29", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/29/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK3cz4jNI59poAhMDB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/29/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/29/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/29/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AA (truncated) 05:25:06.728 [info] GET /sources/72/force_metadata_refresh 05:25:06.729 [debug] QUERY OK source="settings" db=0.2ms idle=1009.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:06.729 [debug] QUERY OK source="settings" db=0.2ms idle=501.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:06.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:06.730 [error] #PID<0.493839.0> running PinchflatWeb.Endpoint (connection #PID<0.493833.0>, stream id 4) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/72/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/72/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/72/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493839.0>, params: %{}, path_info: ["sources", "72", "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://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/72/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK3erU-XT46CkAhMEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/72/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/72/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/72/force_metadata_refresh", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 39378}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbFVDcWtSSEVmeHNqRFFUVzlEbUtDNUw4.bYeYTX-_mUqenp_dNCobi85_gRYlrWxwSvpDMHAbohU", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AA (truncated) 05:25:17.406 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:47.410 [info] {"source":"oban","duration":3466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:57.414 [info] GET /sources/76/force_index 05:25:57.414 [debug] QUERY OK source="settings" db=0.1ms idle=1547.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:57.415 [debug] QUERY OK source="settings" db=0.0ms idle=898.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:57.415 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:57.415 [error] #PID<0.493846.0> running PinchflatWeb.Endpoint (connection #PID<0.493845.0>, stream id 1) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/76/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/76/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_index", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493846.0>, params: %{}, path_info: ["sources", "76", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/76/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK6bfuKZ0_ksEAhMGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_index", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/76/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/76/force_index", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493846.0>, params: %{}, path_info: ["sources", "76", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatib (truncated) 05:25:57.518 [info] GET /sources/49/sync_files_on_disk 05:25:57.518 [debug] QUERY OK source="settings" db=0.1ms idle=651.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:57.518 [debug] QUERY OK source="settings" db=0.0ms idle=651.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:57.518 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:57.518 [error] #PID<0.493847.0> running PinchflatWeb.Endpoint (connection #PID<0.493845.0>, stream id 2) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/49/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/49/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/sync_files_on_disk", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493847.0>, params: %{}, path_info: ["sources", "49", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/49/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK6b4eTSvIiOUAhMHB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/sync_files_on_disk", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/49/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/sync_files_on_disk", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493847.0>, params: %{}, path_info: ["sources", "49", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", (truncated) 05:25:58.046 [info] GET /sources/49/force_redownload 05:25:58.046 [debug] QUERY OK source="settings" db=0.1ms idle=631.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:58.046 [debug] QUERY OK source="settings" db=0.0ms idle=529.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:58.046 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:25:58.046 [error] #PID<0.493848.0> running PinchflatWeb.Endpoint (connection #PID<0.493845.0>, stream id 3) terminated Server: pinchflat.dumke.me:80 (http) Request: GET /sources/49/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/49/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_redownload", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493848.0>, params: %{}, path_info: ["sources", "49", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.31"}, {"x-forwarded-host", "pinchflat.dumke.me"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "75fcd57f599b"}, {"x-real-ip", "216.73.216.31"} ], request_path: "/sources/49/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMjK6d2WkeaTU10AhMIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_redownload", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/49/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.493845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/49/force_redownload", host: "pinchflat.dumke.me", peer: {{172, 18, 255, 254}, 49250}, bindings: %{}, sock: {{172, 18, 0, 51}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.dumke.me", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.31", "x-forwarded-host" => "pinchflat.dumke.me", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "75fcd57f599b", "x-real-ip" => "216.73.216.31" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.dumke.me", method: "GET", owner: #PID<0.493848.0>, params: %{}, path_info: ["sources", "49", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.dumke.me", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 255, 254}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.dumke.me"}, {"user-agent", "Mozilla/5.0 Ap (truncated)